Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| statnice:bakalar:b4b01num [2025/06/07 12:47] – [5. Metoda prosté iterace] mistrjirka | statnice:bakalar:b4b01num [2026/06/03 08:29] (current) – [Metoda polovičního kroku a odhad chyby] knedl1k | ||
|---|---|---|---|
| Line 142: | Line 142: | ||
| ===== Numerické metody řešení nelineárních rovnic ===== | ===== Numerické metody řešení nelineárních rovnic ===== | ||
| - | ===== Numerické metody řešení nelineární rovnice ===== | + | |
| **Numerické metody řešení rovnice $f(x) = 0$** slouží k nalezení kořenů, kdy analytické řešení není možné. Předpokladem je separace kořenů – nalezení intervalu $\langle a, b \rangle$ s $f(a) \cdot f(b) < 0$ a jediným kořenem. Metody se liší rychlostí konvergence, | **Numerické metody řešení rovnice $f(x) = 0$** slouží k nalezení kořenů, kdy analytické řešení není možné. Předpokladem je separace kořenů – nalezení intervalu $\langle a, b \rangle$ s $f(a) \cdot f(b) < 0$ a jediným kořenem. Metody se liší rychlostí konvergence, | ||
| Line 218: | Line 218: | ||
| **Visualizace**: | **Visualizace**: | ||
| - | < | + | {{:statnice:bakalar: |
| - | \usepackage{amsmath} | + | |
| - | \usepackage{pgfplots} | + | |
| - | \usetikzlibrary{automata, | + | |
| - | \begin{document} | + | |
| - | + | ||
| - | \begin{tikzpicture}[thick, | + | |
| - | % Axes | + | |
| - | \draw[-latex, | + | |
| - | \draw[-latex] (0,-2) -- (0,8) node[right]{\large $y$}; | + | |
| - | + | ||
| - | % Function plot | + | |
| - | \draw[ultra thick, orange,name path=function] | + | |
| - | plot[smooth, | + | |
| - | (\x, {0.1*\x^2 - 1.5}) node[left]{$F(x)$}; | + | |
| - | + | ||
| - | % Tangent at x^(k)=8 | + | |
| - | \node[violet, | + | |
| - | \draw[gray, | + | |
| - | node[circle, | + | |
| - | \draw[dashed, | + | |
| - | plot[smooth, | + | |
| - | (\x, {1.6*\x | + | |
| - | + | ||
| - | % Labels for x^(k) and x^(k+1) | + | |
| - | \draw (8,0.1) -- (8,-0.1) node[below] {$x^{(k)}$}; | + | |
| - | \draw [name intersections={of=Tfunction and xaxis}] | + | |
| - | ($(intersection-1)+(0, | + | |
| - | node[below, | + | |
| - | \end{tikzpicture} | + | |
| - | + | ||
| - | \end{document} | + | |
| - | </ | + | |
| Line 264: | Line 232: | ||
| **Visualizace**: | **Visualizace**: | ||
| - | < | + | {{: |
| - | \usepackage{amsmath} | + | |
| - | \usepackage{pgfplots} | + | |
| - | \usetikzlibrary{automata, | + | |
| - | \begin{document} | + | |
| - | \begin{tikzpicture}[thick, | ||
| - | % Axes | ||
| - | \draw[-> | ||
| - | \draw[-> | ||
| - | |||
| - | % Function | ||
| - | \draw[blue, | ||
| - | |||
| - | % Initial guesses x0=0.5, x1=1.5 | ||
| - | \coordinate (X0) at (0.5, | ||
| - | \coordinate (X1) at (1.5, | ||
| - | \fill (X0) circle (1.5pt) (X1) circle (1.5pt); | ||
| - | |||
| - | % Secant line | ||
| - | \draw[red, | ||
| - | |||
| - | % Intersection X2 with f | ||
| - | \draw[name path=fun2] plot [smooth, | ||
| - | (\x, | ||
| - | \draw[name intersections={of=sec and fun2, | ||
| - | \draw[dashed] (X2) -- (X2|-0,0) node[below]{$x_2$}; | ||
| - | \fill (X2) circle (1.5pt); | ||
| - | \end{tikzpicture} | ||
| - | |||
| - | \end{document} | ||
| - | </ | ||
| Line 308: | Line 246: | ||
| **Konvergence**: | **Konvergence**: | ||
| **Visualizace**: | **Visualizace**: | ||
| - | |||
| - | < | ||
| - | \usepackage{amsmath} | ||
| - | \usepackage{pgfplots} | ||
| - | \usetikzlibrary{automata, | ||
| - | \begin{document} | ||
| - | |||
| - | \begin{tikzpicture}[thick, | ||
| - | % Axes | ||
| - | \draw[-> | ||
| - | \draw[-> | ||
| - | |||
| - | % Plot f | ||
| - | \draw[name path=function, | ||
| - | plot (\x, | ||
| - | |||
| - | % Points A and B | ||
| - | \coordinate (A) at (1, | ||
| - | \coordinate (B) at (4, | ||
| - | \fill (A) circle (1.5pt) (B) circle (1.5pt); | ||
| - | |||
| - | % Secant AB | ||
| - | \draw[name path=secant, | ||
| - | |||
| - | % Intersection C = false-position | ||
| - | \draw[name intersections={of=secant and function, by=C}]; | ||
| - | \draw[dashed] (C) -- (C|-0,0) node[below]{$c$}; | ||
| - | \fill (C) circle (1.5pt); | ||
| - | \end{tikzpicture} | ||
| - | |||
| - | \end{document} | ||
| - | </ | ||
| + | {{: | ||
| ==== 5. Metoda prosté iterace ==== | ==== 5. Metoda prosté iterace ==== | ||
| Line 352: | Line 259: | ||
| **Konvergence**: | **Konvergence**: | ||
| **Visualizace** (Cobweb diagram): | **Visualizace** (Cobweb diagram): | ||
| - | |||
| - | < | ||
| - | \usepackage{amsmath} | ||
| - | \usepackage{pgfplots} | ||
| - | \usetikzlibrary{automata, | ||
| - | \begin{document} | ||
| - | \begin{tikzpicture}[thick, | ||
| - | % Axes | ||
| - | \draw[-> | ||
| - | \draw[-> | ||
| - | |||
| - | % y = g(x) and y = x | ||
| - | \draw[blue, | ||
| - | plot (\x, | ||
| - | \draw[black, | ||
| - | |||
| - | % One cobweb iteration from x0=1 | ||
| - | \coordinate (P0) at (1,0); | ||
| - | \coordinate (P1) at (1, | ||
| - | \coordinate (P2) at ({1+0.5*(1-1)}, | ||
| - | \draw[dashed] (P0) -- (P1) -- (P2); | ||
| - | \fill (P1) circle (1.5pt) (P2) circle (1.5pt); | ||
| - | \end{tikzpicture} | ||
| - | |||
| - | \end{document} | ||
| - | </ | ||
| - | |||
| + | {{: | ||
| ==== Problematika separace kořenů ==== | ==== Problematika separace kořenů ==== | ||
| Line 398: | Line 279: | ||
| ===== Numerické řešení soustav lineárních rovnic ===== | ===== Numerické řešení soustav lineárních rovnic ===== | ||
| - | **Numerické | + | **Metody pro řešení soustav lineárních rovnic |
| + | === Přímé (finitní) metody === | ||
| - | ==== 1. Finitní (přímé) metody ==== | + | Poskytují teoreticky |
| - | | + | 1. **Gaussova eliminace**: |
| + | | ||
| + | * **Algoritmus**:\\ | ||
| + | * Pro $k = 1$ až $n-1$:\\ | ||
| + | $a^{(k)}_{i,j} = a^{(k-1)}_{i,j} - \frac{a^{(k-1)}_{i, | ||
| + | * **Zpětná substituce**: | ||
| + | $x_i = \frac{1}{a^{(i-1)}_{i, | ||
| + | * Výběr hlavního prvku redukuje zaokrouhlovací chyby. | ||
| - | | + | 2. **LU rozklad**: |
| - | * Pro malé a střední matice | + | * Rozklad $A = LU$ na **dolní ($L$)** |
| - | * Přesné řešení (do chyby zaokrouhlení) v konečném počtu kroků.\\ | + | * Řeší se dvě soustavy: |
| + | * $L\vec{y} = \vec{b}$ | ||
| + | * $U\vec{x} = \vec{y}$ (zpětná substituce). | ||
| - | | + | |
| - | * **Výpočetní náročnost**: | + | |
| - | * **Numerická nestabilita**: | + | === Iterační metody === |
| - | * **Paměťové nároky**: Ukládání celé matice | + | Generují posloupnost aproximací $\vec{x}^{(k)} \to \vec{x}$: |
| - | | + | 1. **Jacobiho metoda (JIM)**: |
| - | * **Příklady z materiálů**: | + | - Rozklad $A = D + L + U$ ($D$ diagonální, |
| - | * **Normální rovnice** pro řešení přeurčených soustav (např. nejmenší čtverce): $A^T A x = A^T b$.\\ | + | |
| + | - Jednoduchá implementace, | ||
| - | | + | 2. **Gaussova-Seidelova metoda (GSM)**: |
| + | | ||
| + | * Rychlejší konvergence než JIM, ale sekvenční výpočet | ||
| + | 3. **Superrelaxační metoda (SOR)**: | ||
| + | * Zavádí relaxační parametr $\omega$ pro urychlení konvergence: | ||
| + | * Pro $\omega = 1$ přechází na GSM. Optimální $\omega$ zrychluje konvergenci, | ||
| - | ==== 2. Iterační metody | + | === Problémy a kritéria volby metod === |
| - | + | ||
| - | * **Příklady**: | + | |
| - | + | ||
| - | * **Výhody**: | + | |
| - | * Efektivní pro **velké řídké matice** (např. $n > 10^4$), protože využívají jen operace s nenulovými prvky.\\ | + | |
| - | + | ||
| - | * Nižší paměťové nároky (neukládá se celá matice, jen její struktura).\\ | + | |
| * **Problémy**: | * **Problémy**: | ||
| - | * **Konvergence** | + | |
| + | * **Zaokrouhlovací chyby**: Akumulují se v přímých metodách, zejména bez výběru hlavního prvku | ||
| + | | ||
| + | * **Řídké matice**: Přímé metody ztrácejí na efektivitě kvůli “zaplnění” (fill-in), iterační metody ji zachovávají | ||
| + | * **Volba metody**: | ||
| - | | + | ^**Parametr** ^**Přímé metody** |
| + | |**Velikost matice** | ||
| + | |**Struktura matice** | ||
| + | |**Přesnost** | ||
| + | |**Vícenásobná $\vec{b}$**|Efektivní (jednorázový rozklad)|Výhodné s dobrým počátečním odhadem | ||
| + | |**Paměťová náročnost** | ||
| - | * **Citlivost na volbu počátečního odhadu**. | + | === Odhady chyb a optimalizace === |
| - | * **Příklady z materiálů**: | + | |
| - | * **Nejmenší čtverce** pro přeurčené soustavy: Minimalizace $||Ax - b||_2$ pomocí QR nebo SVD.\\ | + | |
| - | | + | |
| - | ==== 3. Porovnání a výběr metody ==== | + | * **Složitost**: |
| + | * Přímé metody: $O(n^3)$ pro GEM, $O(n^2)$ pro zpětný chod.\\ | ||
| - | ^**Kritérium** | + | |
| - | |**Rozměr matice** | + | |
| - | |**Dostupnost paměti**|Vyžadují větší paměť | + | |
| - | |**Přesnost** | + | |
| - | |**Použití** | + | |
| - | ==== 4. Typické problémy v numerice ==== | ||
| - | * **Špatně podmíněné matice**: Malá nebo nulová determinant, | ||
| - | |||
| - | * **Numerická nestabilita**: | ||
| - | |||
| - | * **Chyby zaokrouhlení**: | ||
| - | |||
| - | * **Řídké matice**: Iterační metody výrazně převyšují přímé metody. | ||
| - | |||
| - | ==== 5. Ukázkové příklady z materiálů ==== | ||
| - | |||
| - | * **Přeurčená soustava** $Ax = b$: Řešeno metodou nejmenších čtverců pomocí normálních rovnic nebo QR.\\ | ||
| - | |||
| - | * **Příklad řídké matice**: Iterační metoda (např. CG) pro řešení $Ax = b$, kde $A$ má jen $O(n)$ nenulových prvků. | ||
| - | |||
| - | ==== 6. Závěr ==== | ||
| - | |||
| - | * **Finitní metody** jsou vhodné pro malé matice a přesné řešení.\\ | ||
| - | |||
| - | * **Iterační metody** dominují u velkých řídkých matic a při náročnosti na paměť.\\ | ||
| - | |||
| - | * Výběr závisí na rozměru matice, její struktuře a požadované přesnosti. | ||
| ===== Numerická integrace ===== | ===== Numerická integrace ===== | ||
| - | **Numerická integrace | + | **Numerická integrace |
| - | ==== Princip | + | ==== Metody |
| - | Numerická integrace je postup přibližného výpočtu | + | 1. **Metoda levých obdélníků** |
| + | * **Myšlenka: | ||
| + | | ||
| $$ | $$ | ||
| - | \int_{a}^{b} f(x) \, dx | + | I_L = h \sum_{i=0}^{n-1} f(x_i), \quad x_i = a + i \cdot h. |
| - | $$\\ | + | |
| - | pro případy, kdy analytická řešení (primitivní funkce) nelze získat nebo je výpočet složitý. Základní přístup spočívá v **discretizaci** intervalu $[a, b]$ a aproximaci integrálu pomocí **polynomů**, | + | |
| - | + | ||
| - | ==== Hlavní metody numerické integrace ==== | + | |
| - | + | ||
| - | === 1. Obdélníková metoda (Rectangle Rule) === | + | |
| - | + | ||
| - | * **Princip**: | + | |
| - | + | ||
| - | * **Formule**: | + | |
| $$ | $$ | ||
| - | \int_{a}^{b} f(x) \, dx \approx \frac{b - a}{n} \sum_{i=1}^{n} f(x_i) | + | |
| - | $$\\ | + | 2. **Metoda středních obdélníků** |
| - | kde $x_i$ je bod v $i$-tém podintervalu (např. střed = **střední metoda**).\\ | + | * **Myšlenka:** Funkce se aproximuje hodnotou ve **středu** každého podintervalu. |
| - | + | * **Matematicky: | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | * **Nevýhody**: Malá přesnost, nevhodné pro funkcí s rychlým zrychlením. | + | |
| - | + | ||
| - | === 2. Lichoběžníková metoda (Trapezoidal Rule) === | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | | + | |
| $$ | $$ | ||
| - | \int_{a}^{b} f(x) \, dx \approx \frac{h}{2} \left[ f(a) + 2\sum_{i=1}^{n-1} f(x_i) + f(b) \right], \quad h = \frac{b - a}{n} | + | I_S = h \sum_{i=0}^{n-1} f\left(x_i + \frac{h}{2}\right). |
| - | $$\\ | + | $$ |
| - | + | * **Řád metody:** 2 (přesná pro lineární polynomy, např. | |
| - | * **Řád metody**: 2 (chyba $O(h^2)$).\\ | + | 3. **Lichoběžníková |
| - | + | | |
| - | * **Výhody**: | + | * **Matematicky: |
| - | + | $$ | |
| - | | + | I_T = \frac{h}{2} |
| - | + | ||
| - | === 3. Simpsonova | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | | + | |
| $$ | $$ | ||
| - | \int_{a}^{b} f(x) \, dx \approx | + | * **Řád metody:** 2 (přesná pro lineární polynomy). |
| - | $$\\ | + | 4. **Simpsonova metoda** |
| - | (vyžaduje sudé $n$).\\ | + | * **Myšlenka: |
| - | + | * **Matematicky (pro sudé $n$):** | |
| - | * **Řád metody**: 4 (chyba $O(h^4)$).\\ | + | $$ |
| - | + | I_S = \frac{h}{3} \left[ f(a) + 4 \sum_{i=1,3,\dots}^{n-1} | |
| - | * **Výhody**: Vysoká | + | $$ |
| - | + | * **Řád metody:** 4 (přesná pro kubické polynomy, např. | |
| - | * **Nevýhody**: Závislost na počtu podintervalů, složitější výpočet | + | 5. **Gaussova kvadratura** |
| - | + | | |
| - | === 4. Newton-Cotesovy vzorce === | + | * **Matematicky: |
| + | $$ | ||
| + | I_G = \frac{b-a}{2} | ||
| + | $$ | ||
| + | kde $t_i$ jsou kořeny Legendreových polynomů, $w_i$ odpovídající váhy. | ||
| + | * **Řád metody:** $2n-1$ (pro $n$ bodů přesná pro polynomy stupně $\leq 2n-1$). | ||
| + | === Bonus: | ||
| Soubor metod, které zobecňují trapezoidální a Simpsonovu metodu.\\ | Soubor metod, které zobecňují trapezoidální a Simpsonovu metodu.\\ | ||
| Line 545: | Line 397: | ||
| ==== Problémy a optimalizace ==== | ==== Problémy a optimalizace ==== | ||
| + | * **Problémy: | ||
| - | === 1. Odhad chyby a kompozitní metody | + | === Metoda polovičního kroku a odhad chyby === |
| - | * **Kompozice**: Rozdělení | + | * **Princip:** Integrál |
| - | + | ||
| - | * **Chyba trapezoidální metody**:\\ | + | |
| $$ | $$ | ||
| - | E \approx | + | E_{1/ |
| $$\\ | $$\\ | ||
| - | * **Chyba Simpsonovy metody**:\\ | + | * **Vylepšení integrálu:**\\ |
| - | $$ | + | |
| - | E \approx -\frac{(b - a)^5}{180n^4} f^{(4)}(\xi) | + | |
| $$ | $$ | ||
| + | I_{\text{vylepšené}} = I_{h/2} + E_{1/2}. | ||
| + | $$\\ | ||
| - | === 2. Richardsonova extrapolace === | + | * **Souvislost s Richardsonovou extrapolací: |
| - | Sloučení dvou odhadů s různými kroky $h$ a $h/2$ pro odstranění vedení v chybě.\\ | + | === Řád metody === |
| - | - **Příklad**: U trapezoidální | + | |
| - | $$ | + | * **Význam: |
| - | I(h/2) = I(h) + \frac{E(h)}{4} \Rightarrow \text{vyšší | + | |
| - | $$ | + | |
| - | === 3. Adaptivní kvadratura === | + | |
| + | ==== Řád chyby ==== | ||
| + | |||
| + | * **Definice: | ||
| + | * **Příklad: | ||
| + | |||
| + | === Adaptivní kvadratura === | ||
| Metody jako **Gauss-Kronrod** automaticky rozdělují intervaly podle lokálního chybového odhadu (lepší efektivita pro funkcí s různými charakteristikami). | Metody jako **Gauss-Kronrod** automaticky rozdělují intervaly podle lokálního chybového odhadu (lepší efektivita pro funkcí s různými charakteristikami). | ||
| Line 594: | Line 451: | ||
| ==== Kritéria volby metody ==== | ==== Kritéria volby metody ==== | ||
| - | - **Hladkost funkce**: Pro funkce s velkými derivacemi preferovat metody s vysokým řádem (např. Simpsonova).\\ | + | - **Hladkost funkce**: Pro funkce s velkými derivacemi preferovat metody s vysokým řádem (např. Simpsonova). |
| - | + | - **Interval délky**: Pro velké intervaly nebo singulární body použít adaptivní metody nebo substituci. | |
| - | - **Interval délky**: Pro velké intervaly nebo singulární body použít adaptivní metody nebo substituci.\\ | + | |
| - **Výpočetní náročnost**: | - **Výpočetní náročnost**: | ||