Přidání prvních dvou okruhů z NM

This commit is contained in:
Filip Znachor 2024-06-14 22:02:02 +02:00
parent 7c80508a80
commit 89fda3155a
2 changed files with 193 additions and 0 deletions

View file

@ -0,0 +1,84 @@
**Základní pojmy. Matematický model, matematická úloha, korektní úloha, podmíněnost úlohy, číslo podmíněnosti, podmíněnost a stabilita algoritmu. Příklady.**
**Proces modelování** (kroky)
- reálný problém
- matematický model
- reálný problém popisuje matematickými veličinami a vztahy
- matematická úloha
- určení, které veličiny známe a které počítáme
- numerická úloha
- neznáme metodu pro nalezení přesného řešení, volíme přibližnou metodu
- problém např. musíme diskretizovat
- chyba metoda (chyba diskretizace)
- algoritmus
- TODO
- implementace
- analýza výsledků
### Korektní úloha
**Definice (úloha)**
- Mějme dány dvě množiny $X$ (vstupní data) a $Y$ (výstupní data). Předpokládejme, že $X, Y$ jsou Banachovy prostory (úplné + normovaný). Úlohou rozumíme relaci $y = U(x); \, x \in X_{i}; \, y \in Y$.
**Definice (korektní úloha)**
- Úloha je korektní na dvojici prostorů $(X,Y)$, když:
- $\forall \, x \in X \quad \exists! \, y \in Y: \quad y = U(x)$ ... zobrazení
- $\forall \, \{x_{n}\}: x_{n} \to x_{i} \cup (x_{n}) = y_{n} : y_{n} \to y = U(x)$
- řešení $y$ spojitě závisí na vstupních datech
### Podmíněnost úlohy
**Definice (dobrá podmíněnost)**
- Úloha je dobře podmíněná, jestliže malá relativní změna na vstupu vyvolá malou relativní změnu řešení.
**Číslo podmíněnosti**
- je-li $C_{p} \approx_{1}$, úloha je velmi dobře podmíněná
- v praxi hovoříme o špatně podmíněné úloze pro $C_{p} \geq 100$
- $\displaystyle C_{p} = \frac{\frac{\Vert \Delta y\Vert}{\Vert y\Vert}}{\frac{\Vert \Delta x\Vert}{\Vert x\Vert}}$
- $\displaystyle\frac{\Vert\Delta y\Vert}{\Vert y\Vert} = \frac{\vert U(\overline{x}+ \Delta x) - U(\overline{x}) \vert}{\vert U(\overline{x}) \vert}$
- horní část - relativní chyba na výstupu $y$
- dolní část - relativní chyba na vstupu $x$
### Stabilita a podmíněnost algoritmu
**Stabilní algoritmus**
- dobře podmíněný - málo citlivý na poruchy ve vstupních datech
- numericky stabilní - málo citlivý na vliv zaokrouhlovaných chyb
**Nestabilní algoritmus**
- relativně malé chyby v jednotlivých krocích se akumulují tak, že dojde ke katastrofální ztrátě přesnosti řešení
U stabilních metod roste chyba výsledku nejvýše lineárně.
- sčítáním a odčítáním můžeme ztratit hodně informací (desetinných míst) - to může vést k nestabilitě
- **reziduum**
- $r = b-A\overline{x}$
- míra chyby mezi přesným a přibližným řešením
- vyjde nula, když dostaneme přesné řešení
- **chyba**
- $e = \overline{x} - x^*$
- rozdíl mezi přibližným a přesným výsledkem
- když se nám rapidně zvyšuje chyba, ale reziduum je stále blízké nule, tak se jedná o **nestabilní algoritmus**
### Příklady - podmíněnost
Posuďte podmíněnost úlohy určit hodnotu fce $y = \sin(x)$.
- **a)** v bodě $3.14$
- $\overline{x} = 3.14, \Delta x = 0.01$ - malá změna na vstupu
- $y = \sin \overline{x} \approx 1.5327\cdot10^{-3}$
- $\sin(\overline{x}+\Delta x) = -8.4072\cdot10^{-3}$
+ relativní změna na vstupu: $\displaystyle\frac{\Vert\Delta x\Vert}{\Vert\overline{x}\Vert} = \frac{0.01}{3.14} \doteq 0.0031847$
+ relativní změna na výstupu: $\displaystyle\frac{\Vert\Delta y\Vert}{\Vert y\Vert} = \frac{\Vert\sin(\overline{x}+\Delta x) - \sin \overline{x}\Vert}{\Vert\sin \overline{x} \Vert} \doteq 6.2789149$
+ $C_{p} \doteq 1971.6$ - špatně podmíněná úloha
- **b)** v bodě $-0.1$
- $\overline{x} = -0.01, \Delta x = 0.01$
- $y = \sin \overline{x} = -0.0099998$
- $\sin(\overline{x} + \Delta x) = \sin 0 = 0$
- relativní změna na vstupu: $\displaystyle\frac{\Vert \Delta x\Vert}{\Vert \overline{x}\Vert} = \frac{0.01}{0.01} = 1$
- relativní změna na výstupu: $\displaystyle\frac{\Vert \Delta y\Vert}{\Vert y\Vert} = \frac{0.0099998}{0.0099998} = 1$
- $\displaystyle C_{p} = \frac{1}{1} = 1$ - velmi dobře podmíněná úloha
Obecně
- úloha má tvar $y = f(x)$
- z věty o stř. hodnotě: $\vert \Delta y\vert \approx \vert f'(x)\vert \cdot \vert \Delta x\vert$
- dosadíme: $\displaystyle\left|\frac{\Delta y}{y}\right| \approx \left| \frac{f'(x)\cdot|\Delta x|}{f(x)}\right|$
- rozšíříme $\displaystyle\cdot \left|\frac{x}{x}\right|$: $\displaystyle\left| \frac{\Delta y}{y} \right| \approx \left| \frac{f'(x)\cdot x}{f(x)} \right| \cdot \left| \frac{\Delta x}{x} \right|$
- $\displaystyle C_{p} = \left| \frac{x\cdot f'(x)}{f(x)} \right|$

View file

@ -0,0 +1,109 @@
**Ř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 fce $f: \mathbb{R} \to \mathbb{R}$ na intervalu $\langle a,b \rangle$. Hledáme $x \in \langle a,b\rangle$ takové, aby $f(x) = 0$.
- $x$ ... kořen rovnice
Metody řešení
- **startovací metody** (vždy konvergují)
- většinou konvergují pomalu (např. zúžení intervalu možného řešení)
- metoda bisekce (půlení intervalu)
- metoda regula falsi
- metoda prosté iterace
- **zpřesňující metody**
- většinou fungují rychle, ale špatně (musíme být s počáteční hodnotou velmi blízko)
- Newtonova metoda
- metoda sečen
- **speciální metody**
**Věta (o existenci řešení)**
- Předpokládejme, že:
1. reálná fce $f$ je spojitá pro $x \in \langle a,b\rangle$
2. $f(a) \cdot f(b) < 0 \implies \exists$ alespoň jedno řešení $x$ rovnice $f(x) = 0$ na $\langle a,b\rangle$
### 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**
- Předpokládejme, že fce $\varphi$ je na intervalu $I = \langle a,b\rangle$ spojitá a platí:
1. $\forall x \in I : \varphi(x) \in I$ ... fce $\varphi$ zobrazuje $I$ do sebe
2. $\exists \, q \in (0,1) : |\varphi(x)-\varphi(y)| \leq q|x-y| \quad \forall x,y \in I$ ... fce $\varphi$ je kontrakce
- 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íž
- $\implies$
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$ a $\lim_{ k \to \infty } x_{k} = \alpha$ (konverguje k přesnému řešení)
- pozn: pokud by nebyla fce spojitá, vůbec by nemusela projít skrz $y = x$
**Odhad chyby MPI**
- chyba = vzdálenost mezi přesným a získaným řešením ... $|x_{k} - \alpha|$
- $\displaystyle|x_{k}-\alpha| < \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
- čím menší $q$, tím menší bude chyba
- chceme, aby chyba byla rovna zastavovací podmínce nebo menší
**Rychlost konvergence**
- Posloupnost $x_{k}$ konverguje k číslu $\alpha$ rychlostí $r$, jestliže pro $k\to \infty$:
- $|x_{k+1}-\alpha| = c|x_{k}-\alpha|^r+O(|x_{k}-\alpha|^{r+1})$
- pokud
- $\varphi(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 1
- $\varphi(\alpha) = 0$ a $\varphi''(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 2
### Newtonova metoda
Předpoklady
- v intervalu $I = \langle a,b\rangle$ leží právě 1 jednoduchý kořen $\hat{x}$ rovnice $f(x) = 0$
- máme zadáno $x_{0} \in I$ (relativně blízko hledanému řešení - zpřesňující metoda)
- existuje příslušná derivace funkce $f$
Princip
- uděláme Taylorův rozvoj fce $f$ v $x_{0}$
- $f(x) = f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) + f''(\xi)$
- 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} = k_{k} - \frac{f(x_{k})}{f'(x_{k})}$ ... iterační formule
Zastavovací podmínka
- 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í bodem $x_{k}$
- hodnota $x_{k+1}$ - průsečík tečny s osou $x$
**Postačující podmínka konvergence**
- $f'(x) \neq 0$
- $f''$ nemění znaménko v $I = \langle a,b\rangle$
- $f(a)\cdot f(b) < 0$
- $\displaystyle\left| \frac{f(a)}{f'(a)} \right| < b-a, \left| \frac{f(b)}{f'(b)} \right| < b-a$
- $\implies$ Newtonova metoda konverguje, pokud $\forall \, x_{0} \in I$
Rychlost konvergence
- $\displaystyle\varphi(x) = x - \frac{f(x)}{f'(x)}$
- rychlost konvergence závisí na $\varphi'(\alpha)$ resp. $\varphi''(\alpha)$
- platí $\varphi'(\alpha) = 0$ a obecně $\varphi''(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 2