Metoda sečen

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Metoda sečen je iterační numerická metoda užívaná v numerické matematice k numerickému řešení soustav nelineárních rovnic jedné reálné proměnné. K nalezení řešení je obvykle potřeba méně iterací, než u numerické metody půlení intervalů. Jako u jiných numerických metod, tak i 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[editovat | editovat zdroj]

Jak funguje metoda sečen

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

Podmínky pro ukončení algoritmu[editovat | editovat zdroj]

Pro ukončení algoritmu musí dojít k naplnění k jedné z těchto podmínek:

  • Rozdíl hodnot x_n a x_{n-1} je menší než zvolená přesnost výsledku p tedy |x_n-x_{n-1}| < p
  • Proběhne maximální počet iterací.

Počet iterací je na uvážení každého, neexistuje žádná metoda na určení optimálního počtu iterací. Obecně se volí větší počet iterací, ale musíme si dát pozor při použití algoritmu na počítači, aby nedošlo k jeho přehlcení. Naopak při malém počtu iterací metoda sečen nedokonverguje.

Příklad[editovat | editovat zdroj]

Zadání[editovat | editovat zdroj]

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í[editovat | editovat zdroj]

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 šešté iterace je p < 0.01 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[editovat | editovat zdroj]

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.

Literatura[editovat | editovat zdroj]

CHAPRA, Steven C.. Numerical Methods for Engineers 6 edition. 1. vyd. [s.l.] : McGraw-Hill, 2009. ISBN 9780073401065.  

VITÁSEK, Emil. Numerické metody. 1. vyd. Praha : SNTL, 1987. 512 s.  

Související články[editovat | editovat zdroj]