Matematika (nejen) pro krajináře a nábytkáře | Robert Mařík © 2007-2009 |
Budeme se zabývat úkolem najít přibližné řešení rovnice
f(x) = 0,
| (4.7) |
kde \DS{f(x)} je spojitá funkce. Je-li funkce \DS{f} polynom, jedná se, jak jsme viděli v předchozím, o algebraickou rovnici.
Při přibližném řešení rovnic zpravidla máme k dipozici jistý počáteční odhad, který nám udává přibližnou polohu kořene, a naším úkolem je tento počáteční odhad zpřesnit na požadovanou přesnost. Tento počáteční odhad získáme například grafickým řešením rovnice, použitím specializovaných metod v případě některých rovnic (například u algebraických rovnic) nebo v nouzi střelbou naslebo.
Úmluva. Řekneme, že číslo
\DS{c}
je kořenem funkce (4.7) s přesností alespoň
\DS{\varepsilon } (s chybou
nejvýše \DS{\varepsilon }),
jestliže se od skutečného kořene polynomu liší nejvýše o hodnotu
\DS{\varepsilon },
tj. pokud skutečný kořen leží v intervalu
\DS{(c-\varepsilon ,c+\varepsilon )}. S přesností
alespoň \DS{\varepsilon }
tedy kořen nalezneme, pokud najdeme interval délky nejvýše
\DS{2\varepsilon }, ve
kterém je tento kořen obsažen.
Je-li například \DS{[a,b]} interval, na kterém spojitá funkce \DS{f(x)} mění znaménko, je podle Bolzanovy věty střed tohoto intervalu kořenem funkce \DS{f(x)} s přesností alespoň poloviny délky tohoto intervalu. Vypočteme-li tedy \DS{c ={ a + b \over 2} } a \DS{\varepsilon ={ b - a \over 2} }, je kořen funkce roven \DS{c\pm \varepsilon }. V praxi zpravidla chybu \DS{\varepsilon } udáváme na jednu platnou číslici (zaokrouhlujeme pouze nahoru!) a přibližnou hodnotu kořene zaokrouhlujeme na stejný počet desetinných míst. Zaokrouhlujeme-li meze intervalu \DS{[a,b]}, je nutno zaokrouhlovat tak, aby žádné číslo z tohoto intervalu po zaokrouhlení nevypadlo, tj. dolní mez zaokrouhlujeme pouze dolů a horní mez pouze nahoru.
Metoda půlení intervalu nám umožňuje hledat kořeny rovnice, které
souvisí se znaménkovou změnou. Tuto metodu je tedy možno použít
například pro hledání kořenů algebraické rovnice, které mají lichou
násobnost1 .
Předpokládejme, že funkce \DS{f(x)}
nabývá v bodech \DS{x = a}
a \DS{x = b}
funkčních hodnot s opačným znaménkem. Metoda půlení intervalu
spočívá v tom, že vypočteme funkční hodnotu v bodě
\DS{x = c}, který leží
v polovině intervalu \DS{(a,b)}, tj.
v bodě, pro který platí \DS{c ={ a + b
\over 2} }.
Pokud platí \DS{f(c) = 0}, získali
jsme kořen. Pokud platí \DS{f(c)\neq 0},
potom na jednom z intervalů \DS{(a,c)}
a \DS{(c,b)}
funkce \DS{f(x)}
mění znaménko. Tento interval bude novou (lepší) lokalizací kořene. Od
intervalu \DS{(a,b)}
jsme takto přešli k intervalu poloviční délky, tj. snížili jsme
maximální chybu na polovinu. Dalším provedením tohoto postupu
snížíme maximální velikost chyby opět na polovinu a toto opakujeme
tak dlouho, dokud není chyba dostatečně malá.
Příklad 4.8 (metoda půlení intervalu). Nalezněte v oboru reálných čísel kořeny polynomu \DS{P(x) = x^{3} + x - 1} s přesností alespoň \DS{0,03}.
Řešení. Kořeny polynomu leží v intervalu \DS{(-2,2)} (viz nerovnost (4.6)). Polynom má jeden kladný kořen (Věta 4.9) a nemá žádný záporný kořen (Věta 4.10). Výpočtem funkčních hodnot v bodech \DS{x = 0} a \DS{x = 1} zjistíme, že jediný reálný kořen rovnice leží v intervalu \DS{(0,1)}. Metodu půlení intervalů zapíšeme do následující tabulky.
Kořenem je tedy \DS{x = 0.67\pm 0.02}, tj. kořen leží v intervalu \DS{(0.65;0.69)}.
Někdy je výhodné rovnici \DS{f(x) = 0}
přepsat do tvaru
g(x) = x
| (4.8) |
a hledat tedy bod, který se při zobrazení funkcí \DS{g(x)} zobrazí sám na sebe. Například rovnici
\cos (x) - x = 0
|
můžeme přepsat do tvaru
\cos (x) = x.
|
Problém najít bod, ve kterém funkce \DS{f(x) =\cos (x) - x} protíná osu \DS{x} se tím modifikuje na problém najít bod, který se po aplikaci funkce \DS{g(x) =\cos (x)} zobrazí sám na sebe.
Definice 4.5 (pevný bod). Číslo \DS{x_{*}}
se nazývá pevný bod |
Poznámka 4.11 (ověření podmínek věty o pevném bodě). Pro ověření toho, že funkce \DS{g(x)} zobrazuje interval \DS{[a,b]} do sebe, stačí ověřit podmínku (4.9) a podmínky \DS{g(a)\geq a} a \DS{g(b)\leq b}.
Poznámka 4.12 (iterace). Aplikujeme-li na daný vzor \DS{k}-krát funkci \DS{g}, nazývá se výsledek \DS{k}-tá iterace funkce \DS{g}. Například složená funkce \DS{g(g(g(x)))} je třetí iterací funkce \DS{g}. Posloupnost, která podle předchozí věty slouží k aproximaci pevného bodu je tedy posloupností jednotlivých iterací funkce \DS{g(x)}. \DS{k}-tá iterace funkce se někdy označuje \DS{g^{k}(x)}. Protože stejným způsobem označujeme i \DS{k}-tou mocninu funkce \DS{g(x)}, je nutno v případě použití tohoto zápisu dbát na to, abychom jednotlivé významy tohoto označení nezaměnili.
Příklad 4.9 (iteační metoda). Řešme rovnici \DS{x^{3} + x - 1 = 0}.
Řešení. Uvedeme jenom hlavní myšlenku postupu. Graficky nebo separací kořenů algebraické rovnice (viz. příklad 4.8) se snadno přesvědčíme, že funkce má kořen na intervalu \DS{[0,1]}. Přepíšeme-li rovnici do tvaru
x = 1 - x^{3}
|
a sestavujeme-li iterační posloupnost dostáváme: \DS{g(0.5) = 0.875}, \DS{g(0.875) = 0.330}, \DS{g(0.330) = 0.964}, \DS{g(0.964) = 0.104}, …. (Ověřte si dopočítáním dalších členů sami, že posloupnost nekonverguje2 .) Přepíšeme-li však rovnici do tvaru
x = \root{3}\of{1 - x}
|
dostáváme
a tato posloupnost konverguje k řešení rovnice. 14-tá iterace funkce je \DS{0.6807}, což souhlasí s výsledkem příkladu 4.8. Konvergence metody je patrná i z Obrázku 4.1. Při kreslení tohoto obrázku jsme však v případě konvergence volili záměrně horší počáteční odhad, aby byla konvergence lépe patrná. U obou obrázků je počáteční odhad znázorněn čtverečkem a výsledek po šesti iteracích hvězdičkou.
Poznámka 4.13. Chyba při výpočtu metodou nejmenších čtverců se zmenšuje geometrickou řadou s kvocientem \DS{{ 1 \over 2} }. Rychlost konvergence výpočtu založeného na větě o pevném bodu závisí na velikosti konstanty \DS{L} a lze ukázat, že při použití této metody se chyba zmenšuje geometrickou řadou s kvocientem \DS{L}. Konstantu \DS{L} je možno do jisté míry měnit převodem rovnice na jiný tvar, který je vhodnější pro iterace, jak jsme viděli v Příkladu 4.9.
Robert Mařík, Ústav matematiky, Lesnická a dřevařská fakulta MZLU v Brně | © 2007-2009 |