FAV-ZCU/KMA NM/Zkouška/02. okruh.md

110 lines
4.8 KiB
Markdown
Raw Normal View History

2024-06-14 22:02:02 +02:00
**Ř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
2024-06-19 16:27:23 +02:00
- 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é, aby $f(x) = 0$.
2024-06-14 22:02:02 +02:00
Metody řešení
2024-06-19 16:27:23 +02:00
- **startovací metody** (vždy konvergují, ale většinou pomalu)
2024-06-14 22:02:02 +02:00
- metoda bisekce (půlení intervalu)
- metoda regula falsi
- metoda prosté iterace
2024-06-19 16:27:23 +02:00
- **zpřesňující metody** (konvergují rychleji, vyžadují dobrý odhad počáteční hodnoty)
2024-06-14 22:02:02 +02:00
- Newtonova metoda
2024-06-21 23:38:30 +02:00
- metoda tečen
2024-06-14 22:02:02 +02:00
- **speciální metody**
2024-06-19 16:27:23 +02:00
**Existence řešení**
1. reálná funkce $f$ je spojitá pro $x \in \langle a,b\rangle$
2. platí $f(a) \cdot f(b) < 0$, existuje tedy alespoň jedno řešení $x$ rovnice $f(x) = 0$ na $\langle a,b\rangle$
2024-06-14 22:02:02 +02:00
### Metoda prosté iterace (MPI)
Princip
- původní rovnici $f(x) = 0$ přepíšeme na tvar $x = \varphi(x)$
- to můžeme udělat spoustou způsobů
- na volbě $\varphi$ závisí konvergence a její rychlost
Algoritmus
1. zvolíme $x_{0} \in \langle a,b\rangle$ a $\epsilon > 0$
2. $x_{k+1} = \varphi(x_{k})$
3. zastavovací podmínka: $|x_{k+1}-x_{k}| < \epsilon$, pak $x = 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**
2024-06-19 16:27:23 +02:00
- funkce $\varphi$ je spojitá na intervalu $I = \langle a,b\rangle$ a platí
1. funkce $\varphi$ zobrazuje $I$ do sebe
- $\forall x \in I : \varphi(x) \in I$
2. funkce $\varphi$ je kontrakce
- $\exists \, q \in (0,1) : |\varphi(x)-\varphi(y)| \leq q|x-y| \quad \forall x,y \in I$e
2024-06-14 22:02:02 +02:00
- 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íž
2024-06-19 16:27:23 +02:00
1. v intervalu $I$ existuje právě jeden kořen $\alpha$ rovnice $x = \varphi(x)$
2. 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
2024-06-14 22:02:02 +02:00
**Odhad chyby MPI**
- chyba = vzdálenost mezi přesným a získaným řešením ... $|x_{k} - \alpha|$
2024-06-19 16:27:23 +02:00
- $\displaystyle|x_{k}-\alpha| \leq \frac{q}{1-q}\epsilon$
2024-06-14 22:02:02 +02:00
- $|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ší
2024-06-19 16:27:23 +02:00
- čím menší $q$, tím menší bude chyba
- je možné jej vypočítat derivací $\varphi(x)$
2024-06-14 22:02:02 +02:00
### Newtonova metoda
Předpoklady
- v intervalu $I = \langle a,b\rangle$ leží právě 1 jednoduchý kořen $\hat{x}$ rovnice $f(x) = 0$
2024-06-19 16:27:23 +02:00
- máme zadáno $x_{0} \in I$
- relativně blízko hledanému řešení - zpřesňující metoda
- musí existovat derivace $f'$ funkce $f$
2024-06-14 22:02:02 +02:00
2024-06-19 16:27:23 +02:00
Postup
- uděláme Taylorův rozvoj funkce $f$ v $x_{0}$
- $f(x) = f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) + \frac{1}{2}f''(\xi)\cdot(x-x_{0})^2$
2024-06-14 22:02:02 +02:00
- 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})}$
2024-06-21 23:38:30 +02:00
- $\displaystyle x_{k+1} = x_{k} - \frac{f(x_{k})}{f'(x_{k})}$ ... iterační formule
2024-06-14 22:02:02 +02:00
Zastavovací podmínka
2024-06-19 16:27:23 +02:00
- dvě možnosti
2024-06-14 22:02:02 +02:00
- 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$
2024-06-19 16:27:23 +02:00
**Geometrický význam (metoda tečen)**
2024-06-14 22:02:02 +02:00
- křivky $y = f(x)$ nahradíme tečnou procházející bodem $x_{k}$
- hodnota $x_{k+1}$ - průsečík tečny s osou $x$
**Postačující podmínka konvergence**
2024-06-19 16:27:23 +02:00
- derivace funkce v kořenu není nulová ... $f'(x) \neq 0$
- druhá derivace $f''$ nemění znaménko v $I = \langle a,b\rangle$
- prochází bodem $x$, kde $f(x) = 0$
- $f(a)\cdot f(b) < 0$
2024-06-21 23:38:30 +02:00
- $\displaystyle\left| \frac{f(a)}{f'(a)} \right| < b-a, \quad \left| \frac{f(b)}{f'(b)} \right| < a-b$
2024-06-19 16:27:23 +02:00
- poté Newtonova metoda konverguje pro $\forall \, x_{0} \in I$
2024-06-14 22:02:02 +02:00
Rychlost konvergence
2024-06-19 16:27:23 +02:00
- konverguje obvykle rychleji než MPI
2024-06-14 22:02:02 +02:00
- rychlost konvergence závisí na $\varphi'(\alpha)$ resp. $\varphi''(\alpha)$
2024-06-19 16:27:23 +02:00
- $\varphi'(\alpha) = 0$ a $\varphi''(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 2