Metoda sečen
Author
Albert FloresMetoda 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
Na začátku je zapotřebí určit dvě počáteční hodnoty x_0 a x_1, které by měly být co nejblíže řešení rovnice f(x)=0. Tento kořen nemusí ležet mezi hodnotami x_0 a x_1. +more Pokud však je funkce f spojitá a její funkční hodnoty v bodech x_0 a x_1 mají opačná znaménka, nachází se v intervalu (x_0, x_1) 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ů x_0 a x_1 je dána rovnice sečny ke grafu funkce f(x)=0 v bodech P_0=[x_0,f(x_0)] a P_1=[x_1,f(x_1)] ve tvaru:
y = f(x_1) + \frac{f(x_1)-f(x_0)}{x_1-x_0} (x-x_1).
V druhé iteraci musíme určit hodnotu x_2. Hodnota x_2 je průsečíkem sečny dané body x_0 a x_1 a osy x. +more Stačí do rovnice sečny dosadit y=0 a vyjádřit x. Dostaneme rovnici:.
x = x_1 - \frac{f(x_1)(x_1-x_0)}{f(x_1)-f(x_0)},
jejímž řešením je hledaná hodnota x_2. Dále pokračujeme v algoritmu, kde pro n > 0 se hodnota x_{n+1} vypočítá z hodnot x_n a x_{n-1} pomocí vztahu:
x_{n+1} = x_n - \frac{f(x_n)(x_n-x_{n-1})}{f(x_n)-f(x_{n-1})}.
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 x_n a x_{n-1} je menší než požadovaná přesnost výsledku p > 0 tedy |x_n-x_{n-1}|
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 x^3-4x^2+6x-24 = 0 v intervalu \langle 3, 5 \rangle a přesností p=0{,}01.
Řešení
Za počáteční hodnoty zvolíme x_0 = 3 a x_1 = 5. Počítáme dosazováním do vzorce:
x_2 = x_1 - \frac{f(x_1)(x_1-x_0)}{f(x_1)-f(x_0)} = 5 - \frac{31 (5 - 3)}{31 - (-15)} = 3{,}652174.
Další iterace jsou znázorněny v tabulce:
n | x_n | f(x_n) | 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 a hledaný kořen rovnice x^3-4x^2+6x-24 = 0 v intervalu \langle 3, 5 \rangle 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.