3.7 KiB
3.7 KiB
Numerické metody pro počáteční úlohy pro obyčejné diferenciální rovnice. Metody Taylorova typu. Rungovy-Kuttovy metody. Vícekrokové metody. Odhad chyby řešení. Pasivní a aktivní extrapolace. Algoritmy typu prediktor-korektor. Lokální a globální chyba. Konzistence, 0-stabilita, A-stabilita a konvergence.
NM pro počáteční úlohy ODR
Formulace
- dána
- funkce
f(x,y)y \quad y \in \mathbb{R}, x \in \langle a,b\rangle
- čísla
y_{0} \in \mathbb{R}, x_{0} \in \langle a,b\rangle
- funkce
- chceme najít funkci
y(x); \quad x \in \langle x_{0},b\rangle
, která na(x_{0},b)
splňujey' = f(x,y)
a splňuje počáteční podmínkuy(x_{0}) = y_{0}
- funkce
y(x)
je řešením úlohy
Lipschitzovsky spojitá funkce
|f(x,y_{1}) - f(x,y_{2})| \leq L|y_{1}-y_{2}| \quad \forall x \in \langle a,b\rangle, \quad \forall y_{1},y_{2} \in \mathbb{R}
- Lipschitzovská konstanta
L
říká, jak moc se změníf
, když se změníy
- pokud je funkce
f
diferencovatelná podley
, tak je funkce omezenáL
- aby platila věta o řešitelnosti (existovalo řešení), musí být mimo jiné funkce
f
Lipschitzovsky spojitá
Dělení metod
- metody založené na num. derivaci / na num. integraci
- jednokrokové metody / vícekrokové metody
- explicitní metody / implicitní metody
- metody s konst. krokem / s proměnným krokem
Základem metod je diskretizace proměnných.
Eulerova metoda
- nejjednodušší jednokroková explicitní metoda
y' = f(x,y)
y = y(x); \quad y(x_{k}) \approx y_{k}
- sestavím Taylorův polynom
y(x_{k+1}) = y(x_{k}) + h\cdot y'(x_{k}) + \frac{h^2}{2}y''(\xi_{k})
y(x_{k+1}) = y(x_{k}) + h\cdot f(x_{k},y(x_{k})) + \frac{h^2}{2}y''(\xi_{k})
- poslední člen zanedbáme
- rekurentní formule
y_{k+1} = y_{k} + h\cdot f(x_{k}, y_{k})
Diskretizační chyby
- lokální diskretizační chyba
d_{k}
- nepřesnost s jakou teoretické hodnoty splňují rekurentní vztah pro
y_{k+1}
- chyba jednoho kroku metody (za předpokladu, že předchozí hodnoty jsou správné)
- nepřesnost s jakou teoretické hodnoty splňují rekurentní vztah pro
- globální diskretizační chyba
e_{k}
- rozdíl teoretické a vypočtené hodnoty řešení v bodě
x_{k}
e_{k} = y(x_{k}) - y_{k}
- rozdíl teoretické a vypočtené hodnoty řešení v bodě
Metody Taylorova typu
- řád diferenční metody: největší přirozené číslo
p
takové, že platíd_{k} = O(h_{k}^{p+1})
- hodnota
y(x_{k+1})
aproximujee pomocí Taylorova polynomu vyššího řádup
- v praxi nepoužívané kvůli vysokým derivacím
- rekurentní formule:
\displaystyle y_{k+1} = y_{k} + h\cdot f(x_{k},y_{k}) + \frac{h^2}{2}f'(x_{k},y_{k}) + \dots + \frac{h^p}{p!}f^{(p-1)}(x_{k}, y_{k})
Rungovy-Kuttovy metody
- také vyhází z Taylorova polynomu, ale nepoužívá se přímo, aby nebylo potřeba vyjadřovat derivace funkce
f
a počítat jejich hodnoty - hledanou aproximací je kombinace několika hodnot funkce
f
ve strategicky volených bodech(x,y)
na\langle x_{k}, x_{k+1}\rangle
- Heunova metoda
y_{k+1} = y_{k} + \frac{h}{2}[f(x_{k},y_{k}) + f(x_{k+1}, \overline{y}_{k+1})]
\overline{y}_{k+1} = y_{k} + h\cdot f(x_{k}, y_{k})
d_{k} = 0(h^3), \quad e_{k} = O(h^2)
- Modifikovaná Eulerova metoda
\displaystyle y_{k+1} = y_{k} + h\cdot f\left( x_{k}+\frac{h}{2}, y_{k+1/2} \right)
y_{k+1/2} = y_{k} + \frac{h}{2}\cdot f(x_{k}, y_{k})
d_{k} = O(h^3), \quad e_{k} = O(h^2)
Vícekrokové metody
- hodnoty
y_{k+1}
vypočítáme pomocí hodnoty_{k-n}, y_{k-n+1}, \dots, y_{k-1}, y_{k}
- vycházíme z rovnosti
y' = f(x, y(x))
, platí tedy i rovnost integrálů \displaystyle y(x_{k+1}) = y(x_{k}) + \int_{x_{k}}^{x_{k+1}} f(x, y(x)) \, dx
g(x) = f(x, y(x))
- funkcí
g(x)
aproximujeme interpolačním polynomem, zintegrujeme přesně