Metoda tečen je iteračnínumerická metoda užívaná v numerické matematice k nalezení kořenů funkce nebo k řešení soustavy nelineárních algebraických rovnic. Nazývá se také Newtonova metoda (nebo Newton-Raphsonova 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).
Popis algoritmu
Newtonova metoda tečen slouží k nalezení řešení rovnice za předpokladu, že známe derivaci funkce , tedy směrnici tečny. Pro jednoduchost dále předpokládejme, že i jsou skaláry.
Dalším nezbytným předpokladem je znalost počáteční hodnoty, v jejíž blízkosti hledáme řešení. Pokud se funkce 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 protíná osu . (Směrnice této tečny je .) Tento průsečík označíme a vypočteme jej podle následujícího vztahu.
Za splnění výše uvedených předpokladů by měla hodnota být blíže nule než původní . Stejný postup můžeme opakovat a najít tak ještě přesnější hodnotu .
Iteraci provádíme tak dlouho, dokud hodnota neleží dostatečně blízko nuly. Pokud metoda konverguje a pokud kořen není násobný, je konvergence velice rychlá. S každou iterací se přibližně zdvojnásobí počet desetinných míst, která jsou správně (přesněji, konvergence je kvadratická). Častým kriteriem pro ukončení výpočtu proto bývá okamžik, kdy vzdálenost dvou po sobě jdoucích iterací je dostatečně malá.[zdroj?]
Odvození iteračního vzorce
Víme, že rovnice tečny tk funkce f(x) v libovolném bodě xk je dána vzorcem, jelikož derivace je směrnicí tečny (koeficient lineárního členu):
Zároveň také víme, že tečna tk prochází bodem . Po dosazení:
Hledáme bod , což je průnik tečny tk v bodě xk s osou x, a zároveň dosadíme vyjádřené b:
Odtud již plyne:
Příklad: Výpočet druhé odmocniny
Úkolem je vypočítat druhou odmocninu kladného reálného číslaa.
Problém lze definovat také jako nalezení kořenufunkce, neboli řešení rovnice.
Je vidět, že po několika málo krocích se hodnota nemění a ustálí se (konverguje) na hodnotě 3, což odpovídá správnému výsledku.
Poznámky
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.
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ě.