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:45] – [3. Metoda sečen] mistrjirka | statnice:bakalar:b4b01num [2025/06/07 13:38] (current) – [Numerická integrace] mistrjirka | ||
---|---|---|---|
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}[scale=1.0] | ||
- | \draw[-> | ||
- | \draw[blue, | ||
- | \draw[red, | ||
- | \draw[red, | ||
- | \draw[orange, | ||
- | \draw[red, | ||
- | \draw[green!60!black, | ||
- | \draw[green!60!black, | ||
- | \draw[red, | ||
- | \end{tikzpicture} | ||
- | |||
- | \end{document} | ||
- | </ | ||
+ | {{: | ||
==== 5. Metoda prosté iterace ==== | ==== 5. Metoda prosté iterace ==== | ||
Line 341: | Line 259: | ||
**Konvergence**: | **Konvergence**: | ||
**Visualizace** (Cobweb diagram): | **Visualizace** (Cobweb diagram): | ||
- | |||
- | < | ||
- | \usepackage{amsmath} | ||
- | \usepackage{pgfplots} | ||
- | \usetikzlibrary{automata, | ||
- | \begin{document} | ||
- | |||
- | \begin{tikzpicture}[scale=1.0] | ||
- | \draw[-> | ||
- | \draw[-> | ||
- | \draw[blue, | ||
- | \draw[gray, | ||
- | \draw[red, | ||
- | \draw[red, | ||
- | \draw[red, | ||
- | \draw[red, | ||
- | \draw[red, | ||
- | \draw[fill=magenta] (2,2) circle (2pt) node[above] {Pevný bod}; | ||
- | \end{tikzpicture} | ||
- | |||
- | \end{document} | ||
- | </ | ||
- | |||
+ | {{: | ||
==== Problematika separace kořenů ==== | ==== Problematika separace kořenů ==== | ||
Line 381: | Line 277: | ||
* Nespojitosti, | * Nespojitosti, | ||
- | ===== 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 |
- | ==== 1. Finitní (přímé) metody | + | === Přímé |
- | | + | Poskytují teoreticky přesné řešení v konečném počtu kroků: 1. **Gaussova eliminace**:\\ |
+ | - Převádí matici $A$ na **horní trojúhelníkový tvar** pomocí ekvivalentních úprav.\\ | ||
+ | - **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. | ||
- | * **Výhody**: | + | |
- | * 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}$ | ||
- | | + | |
- | * **Výpočetní náročnost**: | + | |
- | * **Numerická nestabilita**: | + | * Efektivní pro opakované výpočty s různými $\vec{b}$ |
- | * **Paměťové nároky**: Ukládání celé matice (i pro řídké matice).\\ | + | === Iterační metody === |
- | | + | 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): | + | - **Iterační vzorec**:\\ |
+ | $\vec{x}^{(k+1)} | ||
+ | - Jednoduchá implementace, | ||
- | | + | - **Gaussova-Seidelova metoda (GSM)**: |
+ | | ||
+ | $\vec{x}^{(k+1)} | ||
- | ==== 2. Iterační metody ==== | + | * Rychlejší konvergence než JIM, ale sekvenční výpočet |
+ | - **Superrelaxační metoda (SOR)**: | ||
+ | * Zavádí relaxační parametr $\omega$ pro urychlení konvergence: | ||
+ | $\vec{x}^{(k+1)} | ||
- | | + | |
- | * **Výhody**: | + | === Problémy a kritéria volby metod === |
- | * 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** není zaručena: Závisí na vlastnostech matice (např. diagonální dominance, pozitivní definitnost).\\ | + | * **Špatná podmíněnost**: Malé změny v $A$ nebo $\vec{b}$ vedou k velkým změnám |
- | * **Pomalá konvergence** bez předpodmínky (preconditioner).\\ | + | * **Zaokrouhlovací chyby**: Akumulují se v přímých metodách, zejména bez výběru hlavního prvku \\ |
- | * **Citlivost na volbu počátečního odhadu**. | + | * **Konvergence iterací**: Zajištěna pouze pokud $\rho(B) < 1$ (spektrální poloměr iterační matice) |
- | * **Příklady z materiálů**: | + | |
- | * **Nejmenší čtverce** pro přeurčené soustavy: Minimalizace | + | |
- | * **Pseudoinverze** pro matice bez plné hodnosti (např. SVD rozklad). | + | * **Řídké matice**: Přímé metody ztrácejí na efektivitě kvůli “zaplnění” (fill-in), iterační metody ji zachovávají |
+ | * **Volba metody**: | ||
- | ==== 3. Porovnání a výběr metody ==== | + | ^**Parametr** |
+ | |**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** | ||
- | ^**Kritérium** | + | === Odhady chyb a optimalizace === |
- | |**Rozměr matice** | + | |
- | |**Dostupnost paměti**|Vyžadují větší paměť | + | |
- | |**Přesnost** | + | |
- | |**Použití** | + | |
- | ==== 4. Typické problémy v numerice ==== | + | * **Reziduální odhad**: $\vec{r} |
- | * **Špatně podmíněné matice**: Malá nebo nulová determinant, | + | * **Složitost**: |
+ | * Přímé metody: $O(n^3)$ pro GEM, $O(n^2)$ pro zpětný chod.\\ | ||
- | * **Numerická nestabilita**: Např. v Gaussově eliminaci bez pivotace.\\ | + | |
- | * **Chyby zaokrouhlení**: | ||
- | * **Řídké matice**: Iterační metody výrazně převyšují přímé metody. | + | ===== Numerická integrace ===== |
- | ==== 5. Ukázkové | + | **Numerická integrace slouží k přibližnému výpočtu určitého integrálu, když analytické řešení není možné. Zahrnuje diskretizaci intervalu, výpočet ploch pod křivkou pomocí jednoduchých geometrických tvarů a řízení chyb.** |
- | * **Přeurčená soustava** $Ax = b$: Řešeno metodou nejmenších čtverců pomocí normálních rovnic nebo QR.\\ | + | ==== Metody numerické integrace ==== |
- | * **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 ==== | + | * **Matematicky: |
+ | $$ | ||
+ | I_L = h \sum_{i=0}^{n-1} f(x_i), \quad x_i = a + i \cdot h. | ||
+ | $$\\ | ||
- | | + | |
+ | - **Metoda středních obdélníků** | ||
+ | * **Myšlenka:** Funkce se aproximuje hodnotou ve **středu** každého podintervalu.\\ | ||
- | | + | |
- | + | ||
- | * Výběr závisí na rozměru matice, její struktuře a požadované přesnosti. | + | |
- | ===== Numerická integrace ===== | + | |
- | + | ||
- | **Numerická integrace - princip, možné problémy, volba metody, problematika odhadu chyb.** | + | |
- | + | ||
- | ==== Princip numerické integrace ==== | + | |
- | + | ||
- | Numerická integrace je postup přibližného výpočtu **definitního integrálu**\\ | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx | + | I_S = h \sum_{i=0}^{n-1} f\left(x_i + \frac{h}{2}\right). |
$$\\ | $$\\ | ||
- | 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í | + | * **Řád |
+ | - **Lichoběžníková metoda (Trapezoid)** | ||
+ | * **Myšlenka: | ||
- | === 1. Obdélníková metoda (Rectangle Rule) === | + | |
- | + | ||
- | | + | |
- | + | ||
- | * **Formule**: | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx \frac{b - a}{n} \sum_{i=1}^{n} f(x_i) | + | I_T = \frac{h}{2} \left[ |
$$\\ | $$\\ | ||
- | kde $x_i$ je bod v $i$-tém podintervalu (např. střed = **střední metoda**).\\ | ||
- | |||
- | * **Řád metody**: pro levé a pravé obdelníky: 1 (chyba je $O(h)$, kde $h = \frac{b-a}{n}$)., | ||
- | |||
- | * **Výhody**: | ||
- | |||
- | * **Nevýhody**: | ||
- | |||
- | === 2. Lichoběžníková metoda (Trapezoidal Rule) === | ||
- | | + | |
+ | - **Simpsonova metoda** | ||
+ | * **Myšlenka:** Funkce se aproximuje **kvadratickou** parabolou přes dvojice podintervalů.\\ | ||
- | | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx \frac{h}{2} \left[ | + | I_S = \frac{h}{3} \left[ |
$$\\ | $$\\ | ||
- | | + | |
+ | - **Gaussova kvadratura** | ||
+ | * **Myšlenka: | ||
- | | + | |
- | + | ||
- | * **Nevýhody**: | + | |
- | + | ||
- | === 3. Simpsonova metoda (Simpson’s Rule) === | + | |
- | + | ||
- | * **Princip**: | + | |
- | + | ||
- | * **Formule**:\\ | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx \frac{h}{3} \left[ f(a) + 4\sum_{i=1}^{n/2} f(x_{2i-1}) + 2\sum_{i=1}^{(n/2)-1} f(x_{2i}) + f(b) \right] | + | I_G = \frac{b-a}{2} \sum_{i=1}^n |
$$\\ | $$\\ | ||
- | (vyžaduje sudé $n$).\\ | + | kde $t_i$ jsou kořeny Legendreových polynomů, $w_i$ odpovídající váhy.\\ |
- | | + | |
- | + | ||
- | * **Výhody**: | + | |
- | + | ||
- | * **Nevýhody**: | + | |
=== 4. Newton-Cotesovy vzorce === | === 4. Newton-Cotesovy vzorce === | ||
Line 530: | Line 414: | ||
==== 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_h \approx \frac{I_h - I_{h/2}}{2^p - 1}. |
$$\\ | $$\\ | ||
- | * **Chyba Simpsonovy metody**:\\ | + | * **Vylepšení integrálu:**\\ |
- | $$ | + | |
- | E \approx -\frac{(b - a)^5}{180n^4} f^{(4)}(\xi) | + | |
$$ | $$ | ||
+ | I_{\text{lepšené}} = I_{h/2} + \frac{I_{h/ | ||
+ | $$\\ | ||
- | === 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**: | + | |
- | $$ | + | |
- | I(h/ | + | |
- | $$ | + | |
- | === 3. Adaptivní kvadratura === | + | * **Význam: |
+ | |||
+ | * **Chyba metody:** Pro krok $h$ a řád $p$ je globální chyba $O(h^p)$. | ||
+ | |||
+ | |||
+ | ==== Řá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 579: | Line 468: | ||
==== 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**: | ||