Úprava 1. a 2. okruhu z NM

This commit is contained in:
Filip Znachor 2024-06-19 16:27:23 +02:00
parent 087d35be13
commit fde3d15a12
2 changed files with 63 additions and 87 deletions

View file

@ -1,37 +1,38 @@
**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ů
### Matematický model
### Korektní úloha
Reálný problém popsaný matematickými veličinami a vztahy.
**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$.
### Matematická úloha
**Definice (korektní ú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$.
**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 \in X \quad \exists! \, y \in Y: \quad y = U(x)$
- jedná se o 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
Pro řešitelné rovnice nám vyjde přesné řešení.
Pokud úloha nelze řešit, převedeme ji na numerickou úlohu.
### Numerická úloha
- neznáme metodu pro nalezení přesného řešení, volíme přibližnou metodu
- problém např. musíme diskretizovat
- metoda býva nepřesná - chyba metody (chyba diskretizace)
### Podmíněnost úlohy
**Definice (dobrá podmíněnost)**
**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á
- vyjadřuje míru změny řešení při změně vstupu
- 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}$
@ -41,8 +42,8 @@
### 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
- **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í
@ -57,28 +58,3 @@ U stabilních metod roste chyba výsledku nejvýše lineárně.
- $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

@ -3,25 +3,22 @@
### 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
- 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$.
Metody řešení
- **startovací metody** (vždy konvergují)
- většinou konvergují pomalu (např. zúžení intervalu možného ř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**
- většinou fungují rychle, ale špatně (musíme být s počáteční hodnotou velmi blízko)
- **zpřesňující metody** (konvergují rychleji, vyžadují dobrý odhad počáteční hodnoty)
- 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$
**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$
### Metoda prosté iterace (MPI)
@ -44,41 +41,42 @@ Volba $\varphi(x)$
- 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
- 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
- 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$
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
**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$
- $\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
- čí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
- čím menší $q$, tím menší bude chyba
- je možné jej vypočítat derivací $\varphi(x)$
### 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$
- 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$
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)$
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$
- 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
@ -87,23 +85,25 @@ Princip
- $\displaystyle x_{k+1} = k_{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)
**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$
- 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$
- $\displaystyle\left| \frac{f(a)}{f'(a)} \right| < b-a, \quad \left| \frac{f(b)}{f'(b)} \right| < b-a$
- poté Newtonova metoda konverguje pro $\forall \, x_{0} \in I$
Rychlost konvergence
- $\displaystyle\varphi(x) = x - \frac{f(x)}{f'(x)}$
- konverguje obvykle rychleji než MPI
- 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
- $\varphi'(\alpha) = 0$ a $\varphi''(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 2