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:10] – [Aproximace funkcí] mistrjirka | statnice:bakalar:b4b01num [2025/06/07 13:38] (current) – [Numerická integrace] mistrjirka | ||
---|---|---|---|
Line 52: | Line 52: | ||
**Interpolace polynomy, splinová interpolace a metoda nejmenších čtverců. Kritéria pro výběr metody.** | **Interpolace polynomy, splinová interpolace a metoda nejmenších čtverců. Kritéria pro výběr metody.** | ||
- | Metody pro nahrazení složitých funkcí nebo datových množin jednoduššími funkcemi, s důrazem na interpolaci polynomy, spliny a metodu nejmenších čtverců. Volba metody závisí na charakteru dat a požadované přesnosti. | ||
- | ==== Účel | + | **Metody pro nalezení funkce vhodně reprezentující daná data, rozdělené na interpolaci (přesný průchod body) a aproximaci (minimalizace chyby).** |
- | Aproximace funkcí slouží k nahrazení obtížně zpracovatelných funkcí (např. transcendentních) nebo diskrétních dat jednoduššími analytickými modely. Používá se v těchto situacích: | + | ==== Rozlišení interpolace |
- | - **Interpolace**: | + | |
- | - **Aproximace**: | + | |
- | ==== Metody interpolace ==== | + | * **Interpolace**: |
+ | * Rekonstrukci křivek z přesných měření (např. fyzikální experimenty) | ||
+ | * Úlohy vyžadující exaktní průchod daty (např. CAD systémy) | ||
+ | * **Aproximace**: | ||
+ | * Zpracování šumivých dat (např. ekonomické prognózy) | ||
+ | * Kompresi signálů (např. MP3, JPEG) | ||
- | - **Interpolace polynomy** | + | ==== Interpolace polynomy |
- | * Polynom stupně $n-1$ prochází přesně $n$ bodů.\\ | + | |
- | | + | |
+ | * **Matematický popis**: | ||
+ | * // | ||
+ | $\phi(t) = \sum_{j=0}^{n-1} y_j \rho_j(t)$, kde $\rho_j(t) = \prod_{\substack{i=0 \\ i \neq j}}^{n-1} \frac{t - x_i}{x_j - x_i}$ | ||
+ | * // | ||
+ | * **Použití**: | ||
- | * **Nevýhody**: | + | ==== Splinová interpolace ==== |
- | | + | |
- | * // | + | kde $\eta_i, \varrho_i, \sigma_i, \tau_i$ jsou kubické polynomy |
- | + | * **Podmínky**: | |
- | * // | + | * Spojitost derivací: $\phi_i' |
- | | + | * **Výhody**: |
- | * **Kubické spliny**: Po částech polynomy 3. stupně spojené v uzlech s podmínkami hladkosti | + | |
- | + | ||
- | | + | |
- | + | ||
- | * **Nevýhody**: | + | |
==== Metoda nejmenších čtverců ==== | ==== Metoda nejmenších čtverců ==== | ||
- | * Minimalizuje součet čtverců odchylek $\sum_i (y_i - \phi(x_i))^2$.\\ | + | * **Definice**: |
- | + | * **Matematický popis**:\\ | |
- | * **Použití**: Pro data se šumem, kdy stačí přibližný trend (např. kalibrace senzorů) .\\ | + | Pro bázi $\{\phi_0,\dots, |
- | + | $\sum_{j=0}^{k-1} c_j \left( \phi_j(\vec{x}) \cdot \phi_m(\vec{x}) \right) = \vec{y} \cdot \phi_m(\vec{x})$, | |
- | * **Implementace**: Řešení | + | * **Použití**: |
+ | * Přeurčené | ||
+ | * Speciální případ: trigonometrická aproximace | ||
==== Kritéria pro výběr metody ==== | ==== Kritéria pro výběr metody ==== | ||
- | - **Počet | + | - **Počet |
- | * Malý počet bodů $\rightarrow$ **polynomiální | + | * $n \leq 15$: Polynomiální |
- | + | * $n > 15$: Spliny nebo nejmenší čtverce | |
- | * Větší počet bodů $\rightarrow$ **spliny** (zamezení oscilacím).\\ | + | - **Požadovaná přesnost**: |
- | + | * Exaktní | |
- | - **Přesnost | + | * Tolerovatelná chyba: Nejmenší čtverce |
- | * Přesná | + | |
- | + | ||
- | * Toleruje odchylky $\rightarrow$ **metoda nejmenších čtverců** .\\ | + | |
- **Charakter dat**: | - **Charakter dat**: | ||
- | * Hladká | + | * Periodická |
- | + | * Nespojitosti/ | |
- | * Šum nebo odlehlé hodnoty $\rightarrow$ metoda nejmenších čtverců.\\ | + | |
- **Výpočetní náročnost**: | - **Výpočetní náročnost**: | ||
- | * Polynomy: | + | * Rychlé |
+ | * Optimalizace: | ||
- | * Spliny a MNČ: Náročnější, ale stabilnější pro reálná data . | + | < |
+ | \usepackage{amsmath} | ||
+ | \usepackage{pgfplots} | ||
+ | \usetikzlibrary{automata, positioning, | ||
+ | \begin{document} | ||
- | ==== Příklad rozhodování ==== | + | % Vizualizace metod |
+ | \begin{tikzpicture}[scale=0.7] | ||
+ | % Data points | ||
+ | \draw[fill=black] (1,1) circle (2pt) node[below]{$(x_0, | ||
+ | \draw[fill=black] (3,2) circle (2pt) node[above]{$(x_1, | ||
+ | \draw[fill=black] (5,0.5) circle (2pt) node[below]{$(x_2, | ||
+ | \draw[fill=black] (7,3) circle (2pt) node[above]{$(x_3, | ||
- | * **Interpolace**: | ||
- | * **Aproximace MNČ**: Předpověď budoucích hodnot akcií z historických dat s chybami . | ||
- | ==== Lagrangeova interpolace ==== | ||
- | Lagrangeova interpolace vyjadřuje výsledný polynom jako lineární kombinaci bazických polynomů: | ||
- | $$ | ||
- | \phi(x) = \sum_{j=0}^{n-1} y_j \prod_{\substack{0 \le m \le n-1 \\ m\neq j}} \frac{x - x_m}{x_j - x_m}. | ||
- | $$ | ||
- | Každý bazický polynom je stupně **n−1** a zajišťuje, | ||
- | ==== Newtonova interpolace ==== | + | % Spline interpolation (blue) |
- | Newtonova interpolace používá tzv. dělené diference k postupné konstrukci polynomu. Výhodou je jednodušší aktualizace při přidání nového bodu. | + | \draw[blue, thick] (1,1) .. controls (2,1.4) and (2.5,2.2) .. (3,2); |
+ | \draw[blue, thick] (3,2) .. controls (4,1.8) and (4.5,0.3) .. (5,0.5); | ||
+ | \draw[blue, thick] (5,0.5) .. controls (6,0.7) and (6.5,2.5) .. (7,3); | ||
- | ==== Dělené diference ==== | + | % Least squares (green) |
- | Dělené diference definujeme rekurzivně: | + | \draw[green, thick, domain=0.8:7.5] plot (\x, {0.4*\x + 0.2}); |
- | $$ | + | |
- | f[x_i] = y_i,\quad | + | |
- | f[x_i,x_{i+1}] | + | |
- | f[x_i,x_{i+1}, | + | |
- | $$ | + | |
- | V tabulce rozdílných diferencí najdeme koeficienty pro konstrukci polynomu. | + | |
- | ==== Newtonova stupňovatá forma ==== | + | % Legend |
- | Polynom se pak zapíše jako: | + | \node at (4,-1.5) {Legenda:}; |
- | $$ | + | \draw[blue, thick] (3,-2.5) -- (4,-2.5) node[right]{Spline}; |
- | \phi(x) = f[x_0] + f[x_0,x_1](x-x_0) | + | \draw[green, thick] (3,-3) -- (4,-3) node[right]{Nejmenší |
- | * f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots + f[x_0,\dots,x_{n-1}]\prod_{i=0}^{n-2}(x-x_i). | + | |
- | $$ | + | |
- | Poslední | + | |
- | ==== Výhody ==== | + | \end{tikzpicture} |
- | * **Efektivita** výpočtu tabulky v $\mathcal O(n^2)$ a vyhodnocení $\phi(x)$ v $\mathcal O(n)$. | + | |
- | * **Snadné přidání** nového bodu – doplníme jeden sloupec a člen, bez přepočtu celého polynomu. | + | |
- | * **Lepší numerická stabilita** než přímá Lagrangeova forma při větším $n$. | + | |
- | + | ||
- | === Splinová interpolace === | + | |
- | Spliny jsou lokálně definované polynomy spojité až do druhé derivace. Nejčastěji se používá **kubický spline** (stupně 3). | + | |
- | + | ||
- | ==== Princip splinů ==== | + | |
- | Máme **n** datových bodů, mezi kterými je **n−1** sousedních intervalů $[x_i,x_{i+1}]$. Na každém intervalu definujeme polynom stupně 3: | + | |
- | $$ | + | |
- | s_i(x) = a_i + b_i(x-x_i) + c_i(x-x_i)^2 + d_i(x-x_i)^3, | + | |
- | $$ | + | |
- | Celkem tedy sestavujeme **n−1** kubických polynomů. Podmínky: | + | |
- | * $s_i(x_i)=y_i$ a $s_i(x_{i+1})=y_{i+1}$ (interpolace). | + | |
- | * Spojitost první a druhé derivace: | + | |
- | * $s_i' | + | |
- | * $s_i'' | + | |
- | * Hraniční podmínky (např. „přírodní“ spline: $s_0'' | + | |
- | + | ||
- | Kubický spline tak zaručuje hladké proložení bez ostrých zlomenin. | + | |
- | + | ||
- | ==== Příklad použití ==== | + | |
- | Pro interpolaci teplotních dat je kubický spline ideální, protože: | + | |
- | * zachovává lokální variabilitu, | + | |
- | * zaručuje spojitost až do druhé derivace, | + | |
- | * při přidání bodu se mění pouze koeficienty v sousedních intervalech. | + | |
- | + | ||
- | === Metoda nejmenších čtverců === | + | |
- | Používá se, když data obsahují šum a hledáme optimální přizpůsobení funkce. | + | |
- | + | ||
- | ==== Základní formulace ==== | + | |
- | Hledáme aproximaci | + | |
- | $$ | + | |
- | \phi(x) = \sum_{i=1}^m a_i\varphi_i(x), | + | |
- | $$ | + | |
- | kde koeficienty $a_i$ minimalizují | + | |
- | $$ | + | |
- | \sum_{j=1}^N\bigl(f(x_j)-\phi(x_j)\bigr)^2. | + | |
- | $$ | + | |
- | Řešíme tak soustavu normálních rovnic. | + | |
- | + | ||
- | ==== Příklad ==== | + | |
- | Pro polynomy stupně 3 ($\varphi_i(x)=x^{i-1}$) se řeší 4×4 soustava pro koeficienty $a_1, | + | |
- | + | ||
- | === Výběr metody aproximace === | + | |
- | Volba závisí na typu dat a požadavcích: | + | |
- | * **Interpolace polynomem** – pro **přesná data** a menší počet uzlů. | + | |
- | * **Spliny** – pro **větší sady dat**, kde požadujeme hladkost. | + | |
- | * **Metoda nejmenších čtverců** – pro **šumová data** a robustní aproximaci. | + | |
- | + | ||
- | === Závěr === | + | |
- | Aproximace funkcí vyžaduje zvážit počet dat, přesnost a hladkost výsledné funkce. Každá metoda má své výhody a nevýhody podle konkrétní aplikace. | + | |
+ | \end{document} | ||
+ | </ | ||
===== 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 451: | 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 500: | 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**: | ||