Metoda sečen

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Metoda sečen je iterační numerická metoda užívaná v numerické matematice k hledání kořene funkce jedné reálné proměnné (tj. hledání nějakého řešení rovnice f(x)=0). K nalezení řešení je obvykle potřeba méně iterací než u metody půlení intervalů. Jako u jiných numerických metod, ani metoda sečen není univerzální a může nastat případ, kdy nekonverguje ke správnému řešení. V těchto případech je nutné použít jinou numerickou metodu.

Popis algoritmu

Jak funguje metoda sečen

Na začátku je zapotřebí určit dvě počáteční hodnoty x0 a x1, které by měly být co nejblíže řešení rovnice f(x)=0. Tento kořen nemusí ležet mezi hodnotami x0 a x1. Pokud však je funkce f spojitá a její funkční hodnoty v bodech x0 a x1 mají opačná znaménka, nachází se v intervalu (x0,x1) alespoň jeden kořen. Sečna je v tomto případě lineární interpolací funkce f. Nejsou-li tyto podmínky splněny, výpočet metodou sečen může selhat (a funkce ani nemusí mít reálný kořen).

Pomocí bodů x0 a x1 je dána rovnice sečny ke grafu funkce f(x)=0 v bodech P0=[x0,f(x0)] a P1=[x1,f(x1)] ve tvaru:

y=f(x1)+f(x1)f(x0)x1x0(xx1).

V druhé iteraci musíme určit hodnotu x2. Hodnota x2 je průsečíkem sečny dané body x0 a x1 a osy x. Stačí do rovnice sečny dosadit y=0 a vyjádřit x. Dostaneme rovnici:

x=x1f(x1)(x1x0)f(x1)f(x0),

jejímž řešením je hledaná hodnota x2. Dále pokračujeme v algoritmu, kde pro n>0 se hodnota xn+1 vypočítá z hodnot xn a xn1 pomocí vztahu:

xn+1=xnf(xn)(xnxn1)f(xn)f(xn1).

V algoritmu se pokračuje, dokud není splněna jedna z ukončujících podmínek.

Ukončení výpočtu

Metoda sečen je přibližná metoda. Výpočet se obvykle ukončuje, pokud absolutní hodnota rozdílu hodnot xn a xn1 je menší než požadovaná přesnost výsledku p>0 tedy |xnxn1|<p.

Pokud nejsou splněny podmínky konvergence metody, může se stát, že by výpočet nikdy neskončil. Proto by měl algoritmus obsahovat omezení počtu iterací, jehož dosažení se interpretuje jako selhání metody.

Příklad

Zadání

Najděte kořen rovnice x34x2+6x24=0 v intervalu 3,5 a přesností p=0,01.

Řešení

Za počáteční hodnoty zvolíme x0=3 a x1=5. Počítáme dosazováním do vzorce: 

x2=x1f(x1)(x1x0)f(x1)f(x0)=531(53)31(15)=3,652174.

Další iterace jsou znázorněny v tabulce:

n xn f(xn) p
2 3,652174 -6,726391 1,347826
3 3,892483 -2,274132 0,240309
4 4,015229 0,336894 0,122746
5 3,999391 -0,013388 0,015838
6 3,999997 -0,000074 0,000605

Z tabulky je patrné, že u šesté iterace je p<0,01 a hledaný kořen rovnice x34x2+6x24=0 v intervalu 3,5 a přesností p=0,01 je x=4.
(V tabulce je kořen 3,999997, ale s zaokrouhlením na setiny dostáváme 4)

Výhody a nevýhody

Mezi výhody této metody patří malý počet iterací pro nalezení kořene a snadné naprogramování algoritmu v programovacím jazyce. Naopak mezi nevýhody patří, že ne vždy dojde v této metodě ke konvergenci.

Odkazy

Související články

Literatura

Šablona:Citace monografie

Šablona:Citace monografie Šablona:Autoritní data