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:22] – mistrjirka | statnice:bakalar:b4b01num [2025/06/07 13:38] (current) – [Numerická integrace] mistrjirka | ||
---|---|---|---|
Line 120: | Line 120: | ||
\draw[fill=black] (7,3) circle (2pt) node[above]{$(x_3, | \draw[fill=black] (7,3) circle (2pt) node[above]{$(x_3, | ||
- | % Polynomial interpolation (red) | + | |
- | \draw[red, thick, domain=0.8: | + | |
% Spline interpolation (blue) | % Spline interpolation (blue) | ||
Line 135: | Line 135: | ||
\draw[blue, thick] (3,-2.5) -- (4,-2.5) node[right]{Spline}; | \draw[blue, thick] (3,-2.5) -- (4,-2.5) node[right]{Spline}; | ||
\draw[green, | \draw[green, | ||
- | \draw[red, thick] (3,-2) -- (4,-2) node[right]{Polynom MNČ}; | + | |
\end{tikzpicture} | \end{tikzpicture} | ||
Line 143: | Line 143: | ||
===== Numerické metody řešení nelineárních rovnic ===== | ===== Numerické metody řešení nelineárních rovnic ===== | ||
- | Nelineární rovnice obecně může být zapsána jako **$f(x) = 0$**, kde $f$ je reálná funkce. Jejich řešení se liší od lineárních rovnic tím, že obvykle nelze najít všechna řešení analyticky a musíme použít numerické metody. | ||
- | ==== Problémata | + | **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ů |
- | * **Význam separativity**: | + | ==== Přehled metod ==== |
- | * Existuje alespoň jeden kořen v této úsečce | + | |
- | * V této úsečce není žádný další kořen | + | |
- | * **Věta o střední hodnotě (IVS)**: Pokud je funkce | + | ^Metoda |
+ | |**Bisekce** | ||
+ | |**Regula falsi** | ||
+ | |**Metoda sečen** | ||
+ | |**Newtonova** | ||
+ | |**Prostá iterace**|1 bod | ||
- | ==== Základní numerické metody ==== | ||
- | * **Metoda bisekce**: | ||
- | * Prostá a spolehlivá metoda | ||
- | * Vyžaduje interval $[a,b]$, kde $f(a) \cdot f(b) < 0$ | ||
- | * Půlí interval, dokud nejsou kořeny odděleny dostatečně blízko | ||
- | * **Metoda jednoduché iterace**: | ||
- | * Výraz $f(x) = 0$ převedeme na tvar $x = \varphi(x)$ | ||
- | * Opakovaně vypočítáváme: | ||
- | * Konverguje, pokud $|\varphi' | ||
- | * **Newtonova metoda**: | + | ==== 1. Metoda půlení intervalu |
- | * Využívá lokální lineární aproximaci funkce | + | |
- | * $x_{k+1} | + | |
- | * Konverguje kvadraticky, | + | |
- | | + | **Matematický princip**:\\ |
- | * Používá lineární interpolaci | + | Interval $\langle a_i, b_i \rangle$ se rekurzivně půlí:\\ |
+ | $$ | ||
+ | x_i = \frac{a_i + b_i}{2} | ||
+ | $$\\ | ||
+ | Nový interval: | ||
+ | $$ | ||
+ | \langle a_{i+1}, b_{i+1} \rangle = | ||
+ | \begin{cases} | ||
+ | \langle a_i, x_i \rangle & \text{pokud } f(a_i) \cdot f(x_i) < 0 \\ | ||
+ | \langle x_i, b_i \rangle & \text{jinak} | ||
+ | \end{cases} | ||
+ | $$\\ | ||
+ | **Konvergence**: Lineární ($\varepsilon_i = \frac{b_0 - a_0}{2^i}$), | ||
+ | **Visualizace**: | ||
< | < | ||
- | \usetikzlibrary{calc, | + | \usepackage{amsmath} |
+ | \usepackage{pgfplots} | ||
+ | \usetikzlibrary{automata, positioning, | ||
\begin{document} | \begin{document} | ||
- | \begin{tikzpicture}[scale=1.0] | + | \begin{tikzpicture}[thick, |
- | % Osy | + | % Axes |
- | \draw[-> | + | \draw[-> |
- | \draw[-> | + | \draw[-> |
- | + | ||
- | % Graf funkce f(x) | + | |
- | \draw[domain=0.5: | + | |
- | plot ({\x}, | + | |
- | + | ||
- | % Body x_{k-1} a x_k (zvolil jsem s nerovnými y, aby secanta nešla rovnoběžně s osou) | + | |
- | \coordinate (A) at (1, | + | |
- | \coordinate (B) at (3, | + | |
- | \fill (A) circle (2pt) node[below left] {$x_{k-1}$}; | + | |
- | \fill (B) circle (2pt) node[below right] {$x_k$}; | + | |
- | + | ||
- | % Sekanta | + | |
- | \draw[name path=secant] (A) -- (B) node[midway, | + | |
- | % Osa x jako cesta pro intersections | + | % Function (example cubic) |
- | \draw[name path=axis] (-0.5,0) -- (3.5,0); | + | \draw[domain=0.5: |
+ | plot ({\x},{0.1*(\x-3)^3 + 0.5}); | ||
- | % Průsečík secanty s osou x | + | % Endpoints a=1, b=4 |
- | \path [name intersections={of=secant and axis, by=C}]; | + | \foreach \X/\lbl in {1/a,4/b}{ |
- | \fill (C) circle (2pt) node[below] {$x_{k+1}$}; | + | \draw[dashed] |
+ | -- (\X,{0.1*(\X-3)^3+0.5}); | ||
+ | \fill (\X,{0.1*(\X-3)^3+0.5}) circle (1.5pt); | ||
+ | } | ||
- | % Pomocné čárkované přímky | + | % Midpoint c = (a+b)/2 = 2.5 |
- | \draw[dashed] | + | \coordinate |
- | \draw[dashed] (B) -- (B |- 0,0); | + | \draw[dashed] (2.5,0) node[below] {$c$} -- (C); |
+ | \fill (C) circle (1.5pt); | ||
\end{tikzpicture} | \end{tikzpicture} | ||
\end{document} | \end{document} | ||
</ | </ | ||
- | ==== Kritéria konvergence ==== | ||
- | * Pro metodu jednoduché iterace: | ||
- | * $|\varphi' | ||
- | * Existuje $L < 1$ takový, že $|\varphi(x) - \varphi(y)| \leq L|x - y|$ pro $x, y$ v intervalu | ||
- | * Pro Newtonovu metodu: | ||
- | * Požadované derivace musí existovat a být spojité | ||
- | * $f'(x) \neq 0$ ve směru konvergence | ||
- | ==== Chybové odhady | + | ==== 2. Newtonova metoda |
- | | + | **Matematický princip**:\\ |
- | * $|e_k| \leq \frac{b - a}{2^k}$ | + | Tečna v $x_i$:\\ |
+ | $$ | ||
+ | x_{i+1} = x_i - \frac{f(x_i)}{f' | ||
+ | $$\\ | ||
+ | **Konvergence**: | ||
+ | **Visualizace**: | ||
- | * **Lokální chybová odhada**: | + | {{:statnice:bakalar:pasted: |
- | * Pro Newtonovu metodu: $|x_{k+1} - r| \approx C|x_k - r|^2$ | + | |
- | * Pro jednoduchou iteraci: $|e_{k+1}| \leq L|e_k|$ | + | |
- | ==== Použití a výběr metody ==== | ||
- | * Bisekce je nejistější, | ||
- | * Newtonova metoda konverguje rychleji, ale vyžaduje počet derivací | ||
- | * Metoda sečen je kompromis mezi těmito dvěma metodami | ||
- | * Pro praktické řešení často kombinujeme více metod (např. bisekci pro oddělení kořene a Newtonovu metodu pro konvergenci) | ||
- | ==== Užití ve výpočtech ==== | + | ==== 3. Metoda sečen ==== |
- | V praxi je důležité: | + | **Matematický princip**:\\ |
- | * Ochránit proti odklonu | + | Aproximace derivace: |
- | * Využít vhodného zaokrouhlení | + | $$ |
- | * Počítat s numerickou nestabilitou | + | x_{i+1} = x_i - f(x_i) \cdot \frac{x_i - x_{i-1}}{f(x_i) - f(x_{i-1})} |
- | * Používat adaptivní kroky pro efektivitu | + | $$\\ |
+ | **Konvergence**: | ||
+ | **Visualizace**: | ||
- | Metody řešení nelineárních rovnic jsou základně v numerické matematice a mnoho aplikací je tímto problémem ohraničeno. Efektivní a stabilní implementace těchto metod je důležitá pro rychlé a přesné řešení v praxi. | + | {{: |
- | ===== Numerické řešení soustav lineárních rovnic ===== | ||
- | **Numerické řešení soustav lineárních rovnic, možné problémy, argumenty pro použití finitních nebo iteračních metod.** | ||
- | ==== 1. Finitní (přímé) metody ==== | ||
- | * **Příklady**: | + | ==== 4. Regula falsi ==== |
- | | + | **Matematický princip**:\\ |
- | * Pro malé a střední matice (např. $n < 1000$) jsou efektivní.\\ | + | Kombinace bisekce |
+ | $$ | ||
+ | x_i = \frac{a_i f(b_i) - b_i f(a_i)}{f(b_i) - f(a_i)} | ||
+ | $$\\ | ||
+ | **Konvergence**: | ||
+ | **Visualizace**: | ||
- | * Přesné řešení (do chyby zaokrouhlení) v konečném počtu kroků.\\ | ||
- | * **Problémy**: | + | {{:statnice:bakalar: |
- | * **Výpočetní náročnost**: Složitost $O(n^3)$ pro metody jako LU dekompozice.\\ | + | |
- | * **Numerická nestabilita**: | + | ==== 5. Metoda prosté iterace ==== |
- | | + | **Matematický princip**:\\ |
+ | Transformace na $x = \phi(x)$, iterace: | ||
+ | $$ | ||
+ | x_{i+1} = \phi(x_i) | ||
+ | $$\\ | ||
+ | **Konvergence**: | ||
+ | **Visualizace** (Cobweb diagram): | ||
- | * **Pivotace**: | ||
- | * **Příklady z materiálů**: | ||
- | * **Normální rovnice** pro řešení přeurčených soustav (např. nejmenší čtverce): $A^T A x = A^T b$.\\ | ||
- | * **QR rozklad** pro řešení soustav s LN sloupci: $Ax = b \Rightarrow Q R x = b \Rightarrow x = R^{-1} Q^T b$. | + | {{:statnice: |
+ | ==== Problematika separace kořenů ==== | ||
- | ==== 2. Iterační metody ==== | + | - **Analýza funkce**: |
+ | * Tabulace hodnot, hledání intervalů se znaménkovou změnou\\ | ||
- | | + | |
- | * **Výhody**: | + | |
- | * Efektivní pro **velké | + | * Násobné kořeny (např. $f(x) = (x-2)^2$): $f(a) \cdot f(b) < 0$ neplatí\\ |
- | * Nižší paměťové nároky | + | * Řešení: Transformace $h(x) = \frac{f(x)}{f' |
- | * **Problémy**: | + | |
- | * **Konvergence** není zaručena: Závisí na vlastnostech matice | + | * Nespojitosti, |
- | * **Pomalá konvergence** bez předpodmínky (preconditioner).\\ | + | ==== Numerické |
- | | + | **Metody pro řešení soustav lineárních rovnic $A\vec{x} = \vec{b}$, jejich matematické formulace, problémy a kritéria volby mezi přímými a iteračními postupy.** |
- | * **Příklady z materiálů**: | + | |
- | * **Nejmenší čtverce** pro přeurčené soustavy: Minimalizace $||Ax - b||_2$ pomocí QR nebo SVD.\\ | + | |
- | * **Pseudoinverze** pro matice bez plné hodnosti (např. SVD rozklad). | + | === Přímé (finitní) metody === |
- | ==== 3. Porovnání | + | 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, | ||
+ | - **Zpětná substituce**: | ||
+ | $x_i = \frac{1}{a^{(i-1)}_{i, | ||
+ | - Výběr hlavního prvku redukuje zaokrouhlovací chyby. | ||
- | ^**Kritérium** | + | - **LU rozklad**: |
- | |**Rozměr matice** |Malé a střední | + | * Rozklad $A = LU$ na **dolní |
- | |**Dostupnost paměti**|Vyžadují větší paměť | + | |
- | |**Přesnost** | + | |
- | |**Použití** | + | |
- | ==== 4. Typické problémy v numerice ==== | + | * Řeší se dvě soustavy: |
+ | * $L\vec{y} | ||
- | | + | |
- | | + | |
- | * **Chyby zaokrouhlení**: | + | === Iterační metody === |
- | | + | Generují posloupnost aproximací $\vec{x}^{(k)} \to \vec{x}$: 1. **Jacobiho metoda (JIM)**:\\ |
+ | - Rozklad $A = D + L + U$ ($D$ diagonální, | ||
+ | - **Iterační vzorec**: | ||
+ | $\vec{x}^{(k+1)} = D^{-1} \left( \vec{b} - (L + U) \vec{x}^{(k)} \right)$ \\ | ||
+ | - Jednoduchá implementace, | ||
- | ==== 5. Ukázkové příklady z materiálů ==== | + | - **Gaussova-Seidelova metoda (GSM)**: |
+ | * Využívá již aktualizované hodnoty v aktuální iteraci: | ||
+ | $\vec{x}^{(k+1)} | ||
- | | + | |
+ | - **Superrelaxační metoda (SOR)**: | ||
+ | * Zavádí relaxační parametr $\omega$ pro urychlení konvergence: | ||
+ | $\vec{x}^{(k+1)} | ||
- | | + | |
- | ==== 6. Závěr ==== | + | === Problémy a kritéria volby metod === |
- | * **Finitní metody** jsou vhodné pro malé matice a přesné | + | * **Problémy**: |
+ | * **Špatná podmíněnost**: | ||
- | | + | |
- | | + | |
- | ===== Numerická integrace ===== | + | |
- | **Numerická integrace | + | |
+ | * **Volba | ||
- | ==== Princip numerické integrace ==== | + | ^**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** | ||
- | Numerická integrace je postup přibližného výpočtu **definitního integrálu**\\ | + | === Odhady chyb a optimalizace === |
- | $$ | + | |
- | \int_{a}^{b} f(x) \, dx | + | |
- | $$\\ | + | |
- | 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 ==== | + | * **Reziduální odhad**: $\vec{r} |
- | === 1. Obdélníková metoda | + | * **Složitost**: |
+ | * Přímé metody: $O(n^3)$ pro GEM, $O(n^2)$ pro zpětný chod.\\ | ||
- | * **Princip**: Rozdělí interval | + | |
- | * **Formule**: | ||
- | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx \frac{b - a}{n} \sum_{i=1}^{n} f(x_i) | ||
- | $$\\ | ||
- | 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}$)., | + | ===== Numerická integrace ===== |
- | + | ||
- | * **Výhody**: | + | |
- | | + | **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.** |
- | === 2. Lichoběžníková metoda (Trapezoidal Rule) === | + | ==== Metody numerické integrace ==== |
- | * **Princip**: Interval rozdělí na $n$ podintervalů, | + | |
+ | | ||
- | | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx \frac{h}{2} \left[ f(a) + 2\sum_{i=1}^{n-1} f(x_i) | + | 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: | ||
- | | + | |
+ | $$ | ||
+ | I_S = h \sum_{i=0}^{n-1} f\left(x_i + \frac{h}{2}\right). | ||
+ | $$\\ | ||
- | | + | |
+ | - **Lichoběžníková metoda (Trapezoid)** | ||
+ | * **Myšlenka:** Funkce | ||
- | === 3. Simpsonova metoda | + | * **Matematicky: |
+ | $$ | ||
+ | I_T = \frac{h}{2} \left[ f(a) + 2 \sum_{i=1}^{n-1} f(x_i) + f(b) \right]. | ||
+ | $$\\ | ||
- | | + | |
+ | - **Simpsonova metoda** | ||
+ | * **Myšlenka:** Funkce se aproximuje | ||
- | | + | |
$$ | $$ | ||
- | \int_{a}^{b} f(x) \, dx \approx | + | I_S = \frac{h}{3} \left[ f(a) + 4 \sum_{i=1,3,\dots}^{n-1} f(x_i) + 2 \sum_{i=2,4,\dots}^{n-2} f(x_i) + f(b) \right]. |
$$\\ | $$\\ | ||
- | (vyžaduje sudé $n$).\\ | ||
- | | + | |
+ | - **Gaussova kvadratura** | ||
+ | * **Myšlenka: | ||
- | | + | |
+ | $$ | ||
+ | I_G = \frac{b-a}{2} \sum_{i=1}^n w_i f\left( \frac{b-a}{2} t_i + \frac{a+b}{2} \right), | ||
+ | $$\\ | ||
+ | kde $t_i$ jsou kořeny Legendreových polynomů, $w_i$ odpovídající váhy.\\ | ||
- | | + | |
=== 4. Newton-Cotesovy vzorce === | === 4. Newton-Cotesovy vzorce === | ||
Line 394: | 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**: U trapezoidální | + | |
- | $$ | + | * **Význam: |
- | I(h/2) = I(h) + \frac{E(h)}{4} \Rightarrow \text{vyšší | + | |
- | $$ | + | |
+ | |||
+ | |||
+ | ==== Řád chyby ==== | ||
+ | |||
+ | | ||
+ | * **Příklad: | ||
- | === 3. Adaptivní kvadratura === | + | === 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 443: | 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**: | ||