FAV-ZCU/KMA NM/Zkouška/09. okruh.md

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
  • chceme najít funkci y(x); \quad x \in \langle x_{0},b\rangle, která na (x_{0},b) splňuje y' = f(x,y) a splňuje počáteční podmínku y(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á podle y, 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é)
  • 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}

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 řádu p
  • 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í hodnot y_{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ě