Metoda tečen
Z Wikipedie, otevřené encyklopedie
Metoda tečen je iterační numerická metoda užívaná v numerické matematice k numerickému řešení soustav nelineárních rovnic. Nazývá se také Newtonova metoda a metodou tečen je označována, protože přesnější řešení rovnice f(x) = 0 je hledáno ve směru tečny funkce f(x).
Obsah |
[editovat] Popis algoritmu
Newtonova metoda tečen slouží k nalezení řešení rovnice f(x) = 0 za předpokladu, že známe derivaci funkce f'(x), tedy směrnici tečny. Pro jednoduchost dále předpokládejme, že x i f(x) jsou skaláry.
Dalším nezbytným předpokladem je znalost počáteční hodnoty x0, v jejíž blízkosti hledáme řešení. Pokud se funkce f(x) „chová rozumně“ (je spojitá, hladká a monotónní v intervalu, ve kterém hledáme řešení), lze očekávat řešení v místě, kde tečna sestrojená z bodu f(x0) protíná osu x. (Směrnice této tečny je f'(x0).) Tento průsečík označíme x1 a vypočteme jej podle následujícího vztahu.
Za splnění výše uvedených předpokladů by měla hodnota f(x1) být blíže nule než původní f(x0). Stejný postup můžeme opakovat a najít tak ještě přesnější hodnotu xk).
Iteraci provádíme tak dlouho, dokud hodnota f(xk) neleží dostatečně blízko nuly. (Viz animovaná ukázka několika kroků metody tečen na německé Wikipedii.)
[editovat] Příklad: Výpočet druhé odmocniny
Úkolem je vypočítat druhou odmocninu kladného reálného čísla a.
Problém lze definovat také jako nalezení kořenu funkce (matematika) f(x) = x2 − a, neboli řešení rovnice f(x) = 0.
Vypočteme derivaci f'(x).
- f'(x) = 2x
Dosadíme do obecného vzorce a upravíme.
Získáváme tak rekurentní rovnici, u které jako počáteční podmínku můžeme zvolit x0 = a.
Výpočet
(druhé odmocniny z devíti) bude podle výše uvedeného algoritmu probíhat následovně.
a = 9
x = 9
5
3.4
3.02352941176471
3.00009155413138
3.00000000139698
3.00000000000000
3.00000000000000
Je vidět, že po několika málo krocích se hodnota x nemění a ustálí se (konverguje) na hodnotě 3, což odpovídá správnému výsledku.
[editovat] Poznámky
[editovat] Aproximace derivace
Pokud známe pouze funkci f(x) a neznáme její derivaci f'(x), můžeme se pokusit derivaci nahradit numerickou derivací. Případně je možné řešit úlohu metodou sečen, která znalost derivace nevyžaduje.
[editovat] Vektory
Je-li funkce f(x) skalární funkcí vektorového argumentu („z vektoru vypočte skalár“), je nutné hledat xk+1 proti směru gradientu. Předpis pro iteraci lze potom napsat následovně.
Pokud je funkce f(x) vektorovou funkcí vektorového argumentu („z vektoru vypočte vektor“), lze předpis pro iteraci napsat následovně.
Matice J je takzvaná Jacobiho matice (nebo též jakobián) obsahující parciální derivace.
[editovat] Podívejte se také na
- Fraktál Newton – fraktál generovaný Newtonovou metodou
- Linearizace – jedním ze způsobů linearizace je nahrazení části křivky její tečnou
[editovat] Externí odkazy
- Newtonova metoda: http://math.fce.vutbr.cz/vyuka/matematika/numericke_metody/node10.html
- Numerické metody, Metoda tečen: http://www.pef.zcu.cz/pef/kvd/cz/materialy/numet/_numet.html#_Toc501178905
- Polynomická algebra: http://class.pedf.cuni.cz/jancarik/Polynomy8.htm
- Řešení rovnic, Newtonova metoda: http://vydra.troja.mff.cuni.cz/bobo/fyzika/num3_metodanewtonova.cz






![\Delta \bold x = \left[ \begin{matrix} \frac{f(\bold x)}{\frac{\partial f}{\partial x_1}}, \ldots, \frac{f(\bold x)}{\frac{\partial f}{\partial x_n}} \end{matrix} \right]^T](../../../math/2/d/1/2d1a37ef75e669f1e4c2392282ddb0e9.png)

![\bold J(\bold x) = \frac{\partial f_i}{\partial x_j} = \left[ \begin{matrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \ldots & \frac{\partial f_1}{\partial x_n} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \ldots & \frac{\partial f_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial x_1} & \frac{\partial f_n}{\partial x_2} & \ldots & \frac{\partial f_n}{\partial x_n}\end{matrix} \right]](../../../math/d/6/9/d69fad6d7d5b4e4f5dc106ac416c480d.png)

