diff --git a/KMA NM/Zkouška/01. okruh.md b/KMA NM/Zkouška/01. okruh.md index 7375945..edddd66 100644 --- a/KMA NM/Zkouška/01. okruh.md +++ b/KMA NM/Zkouška/01. okruh.md @@ -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|$ \ No newline at end of file diff --git a/KMA NM/Zkouška/02. okruh.md b/KMA NM/Zkouška/02. okruh.md index e789681..e3add4a 100644 --- a/KMA NM/Zkouška/02. okruh.md +++ b/KMA NM/Zkouška/02. okruh.md @@ -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 \ No newline at end of file +- $\varphi'(\alpha) = 0$ a $\varphi''(\alpha) \neq 0 \implies$ rychlost konvergence je řádu 2