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).

Jeden krok metody tečen při hledání řešení . představuje původní odhad, v bodě je sestrojena tečna ke křivce . V místě, kde tečna protíná osu , se nachází nový odhad .

Popis algoritmu

editovat

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.

 
Animovaná ukázka hledání řešení  .

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

editovat

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

editovat

Úkolem je vypočítat druhou odmocninu kladného reálného čísla a.

 

Problém lze definovat také jako nalezení kořenu funkce  , neboli řešení rovnice  .

Vypočteme derivaci  .

 

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  .

 
Ukázka výpočtu  , neboli  , metodou tečen.

Výpočet   (druhé odmocniny z devíti) bude podle výše uvedeného algoritmu probíhat následovně.

a  = 9
x0 = 9
x1 = 5
x2 = 3.4
x3 = 3.02352941176471
x4 = 3.00009155413138
x5 = 3.00000000139698
x6 = 3.00000000000000
x7 = 3.00000000000000

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

editovat

Aproximace derivace

editovat

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

editovat

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 obsahující parciální derivace.

 

Související články

editovat

Externí odkazy

editovat