4.8 KiB
4.8 KiB
Řešení nelineárních rovnic a jejich soustav. Metoda prosté iterace, podmínky konvergence, odhad chyby, rychlost konvergence. Newtonova metoda a její konvergence.
Nelineární rovnice
Formulace problému
- Je dána spojitá funkce
f: \mathbb{R} \to \mathbb{R}
na intervalu\langle a,b \rangle
. - Hledáme kořen rovnice
x \in \langle a,b\rangle
takové, abyf(x) = 0
.
Metody řešení
- startovací metody (vždy konvergují, ale většinou pomalu)
- metoda bisekce (půlení intervalu)
- metoda regula falsi
- metoda prosté iterace
- zpřesňující metody (konvergují rychleji, vyžadují dobrý odhad počáteční hodnoty)
- Newtonova metoda
- metoda tečen
- speciální metody
Existence řešení
- reálná funkce
f
je spojitá prox \in \langle a,b\rangle
- platí
f(a) \cdot f(b) < 0
, existuje tedy alespoň jedno řešeníx
rovnicef(x) = 0
na\langle a,b\rangle
Metoda prosté iterace (MPI)
Princip
- původní rovnici
f(x) = 0
přepíšeme na tvarx = \varphi(x)
- to můžeme udělat spoustou způsobů
- na volbě
\varphi
závisí konvergence a její rychlost
- na volbě
Algoritmus
- zvolíme
x_{0} \in \langle a,b\rangle
a\epsilon > 0
x_{k+1} = \varphi(x_{k})
- zastavovací podmínka:
|x_{k+1}-x_{k}| < \epsilon
, pakx = x_{k+1}
- vzdálenost dvou po sobě jdoucích iterací
- neříká nic o tom, jak jsme daleko od kořenu
Volba \varphi(x)
- závisí na ní konvergence a rychlost metody
- je vhodné, aby se fce
\varphi(x)
co nejvíce blížila konstantní funkci- rada: začít s největší možnou odmocninou
- u polynomu to bude fungovat vždy, u jiných fcí dobrá rada
Postačující podmínky konvergence MPI
- funkce
\varphi
je spojitá na intervaluI = \langle a,b\rangle
a platí- funkce
\varphi
zobrazujeI
do sebe\forall x \in I : \varphi(x) \in I
- funkce
\varphi
je kontrakce- $\exists , q \in (0,1) : |\varphi(x)-\varphi(y)| \leq q|x-y| \quad \forall x,y \in I$e
- tím si zajistíme, že každý další dílek je menší než ten předchozí
- 2 po sobě jdoucí iterace jsou si k sobě čím dál blíž a blíž
- funkce
- v intervalu
I
existuje právě jeden kořen\alpha
rovnicex = \varphi(x)
- posloupnost
\{x_{k}\}^\infty_{k=1}
určená formulíx_{k} = \varphi(x_{k-1})
konverguje pro každéx_{0} \in I
k přesnému řešení
- pozn: pokud by nebyla funkce spojitá, vůbec by nemusela projít skrz
y = x
Rychlost konvergence MPI
- pokud je funkce diferencovatelná, lze pomocí Taylorova polynomu zjistit rychlost konvergence
\varphi'(\alpha) \neq 0 \implies
rychlost konvergence je řádu 1\varphi'(\alpha) = 0
a\varphi''(\alpha) \neq 0 \implies
rychlost konvergence je řádu 2
Odhad chyby MPI
- chyba = vzdálenost mezi přesným a získaným řešením ...
|x_{k} - \alpha|
\displaystyle|x_{k}-\alpha| \leq \frac{q}{1-q}\epsilon
|x_{k} - x_{k-1}| = \epsilon
- kvůli absolutní hodnotě nevíme z jaké strany od přesného řešení jsme
- chceme, aby chyba byla rovna zastavovací podmínce nebo menší
- čím menší
q
, tím menší bude chyba- je možné jej vypočítat derivací
\varphi(x)
- je možné jej vypočítat derivací
Newtonova metoda
Předpoklady
- v intervalu
I = \langle a,b\rangle
leží právě 1 jednoduchý kořen\hat{x}
rovnicef(x) = 0
- máme zadáno
x_{0} \in I
- relativně blízko hledanému řešení - zpřesňující metoda
- musí existovat derivace
f'
funkcef
Postup
- uděláme Taylorův rozvoj funkce
f
vx_{0}
f(x) = f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) + \frac{1}{2}f''(\xi)\cdot(x-x_{0})^2
- dosadíme do
f(x) = 0
f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) = 0
(x-x_{0})
- předpis pro tečnu
- vyjádříme
x
\displaystyle x_{1} = x_{0} - \frac{f(x_{0})}{f'(x_{0})}
\displaystyle x_{k+1} = x_{k} - \frac{f(x_{k})}{f'(x_{k})}
... iterační formule
Zastavovací podmínka
- dvě možnosti
- vzdálenost 2 po sobě jdoucích iterací (na ose x)
|x_{k+1}-x_{k}| < \epsilon
- velikost funkční hodnoty (na ose y)
|f(x_{k})| < \delta
Geometrický význam (metoda tečen)
- křivky
y = f(x)
nahradíme tečnou procházející bodemx_{k}
- hodnota
x_{k+1}
- průsečík tečny s osoux
Postačující podmínka konvergence
- derivace funkce v kořenu není nulová ...
f'(x) \neq 0
- druhá derivace
f''
nemění znaménko vI = \langle a,b\rangle
- prochází bodem
x
, kdef(x) = 0
f(a)\cdot f(b) < 0
\displaystyle\left| \frac{f(a)}{f'(a)} \right| < b-a, \quad \left| \frac{f(b)}{f'(b)} \right| < a-b
- poté Newtonova metoda konverguje pro
\forall \, x_{0} \in I
Rychlost konvergence
- konverguje obvykle rychleji než MPI
- rychlost konvergence závisí na
\varphi'(\alpha)
resp.\varphi''(\alpha)
\varphi'(\alpha) = 0
a\varphi''(\alpha) \neq 0 \implies
rychlost konvergence je řádu 2