Metódy typu Runge-Kutta

Tieto metódy sú veľmi univerzálne a v technickej praxi užitočné. Tiež sú v podstate založené na Taylorovom rozvoji funkcie, ale nepriamo tak, aby sme nemuseli určovať hodnoty derivácií funkcie - tieto sa aproximujú výpočtom samotnej funkcie vo vhodne zvolených strategických bodoch. Ich všeobecná schéma je tvaru

\begin{displaymath}y_{n+1} = y_n + \sum_{i=1}^r \alpha _i k_i, \ \ n=0,1,\dots, \end{displaymath}

kde

\begin{displaymath}
k_1 = f(x_n,y_n),\ \ k_i = f(x_n+\lambda_i h_n, y_n + \mu_i h_nk_{i-1}),
\quad
i=1,\dots r
\end{displaymath}

a $\alpha_i, \lambda_i, \mu_i$ sú vhodne vybraté konštanty. V stručnosti si uvedieme len najznámejšie metódy. Rád konvergencie ani veľkosť chyby odvádzať nebudeme.

Metódy 2. rádu Metódy 4. rádu Uvedieme aspoň najpoužívanejšiu z nich:
$r=4$, $k_1= f(x_n,y_n) ,\ \ k_2= f(x_n + \frac{h_n}{2}, y_n+
\frac{h_n}{2}k_1)$, $k_3= f(x_n+\frac{h_n}{2},y_n+\frac{h_n}{2}k_2) ,
\ \ k_4= f(x_{n+1}, y_n+ h_n k_3)$, $y_{n+1} = y_n +h_n\frac{k_1+2k_2+2k_3+k_4}{6}$. -


Príklad 33. Máme Cauchyho úlohu ako v predchádzajúcom príklade. Riešme túto úlohu na intervale $\langle 1,2 \rangle$ s krokom $h=0,25$ modifikovanou Eulerovou metódou. Vypočítané hodnoty zapíšeme do tabuľky.


Riešenie: Riešenie budeme opäť hľadať v bodoch

\begin{displaymath}x_1=1{,}25;\ \ x_2=1{,}5;\ \ x_3=1{,}75;\ \ x_4= 2.\end{displaymath}

Pre modifikovanú Eulerovu metódu v tomto prípade, keďže pravá strana nezávisí od $y$, nebudeme potrebovať určovať $k_1$. Máme

\begin{displaymath}x_1=1{,}25, k_2 = -1{,}0-\frac{0{,}25}{2}+2 = 0{,}875,\
y_1=0+0{,}25\cdot 0{,}875 =0{,}21875 \end{displaymath}


\begin{displaymath}x_2=1{,}50, k_2 = -1{,}25-\frac{0{,}25}{2}+2{,}0) = 0{,}625,\end{displaymath}


\begin{displaymath}y_2=0{,}21875+0{,}25\cdot 0{,}625 = 0{,}375 \end{displaymath}


\begin{displaymath}x_3=1{,}75, k_2 = -1{,}5-\frac{0{,}25}{2}+2 = 0{,}375,\
y_3=0{,}375+0{,}25\cdot 0{,}375 = 0{,}46875\end{displaymath}


\begin{displaymath}x_4=2{,}00, k_2 = -1{,}75-\frac{0{,}25}{2}+2 = 0{,}125,\
y_1=0{,}46875+0{,}25\cdot 0{,}125 =0{,}5 \end{displaymath}

Teda
i $x_i$ $y(x_i)$ $y_i$ - mod. Euler
0 1,000 0,000 0,000
1 1,250 0,218 0,219
2 1,500 0,375 0,375
3 1,750 0,468 0,469
4 2,000 0,500 0,500


-


Príklad 34. Určme riešenie diferenciálnej rovnice so začiatočnou podmienkou:

\begin{displaymath}
y^\prime = y^2,
\quad y(0)=-4,
\end{displaymath}

Eulerovou metódou, modifikovanou Eulerovou metódou, Heunovou metódou a Runge-Kuttovou metódou 4. rádu na intervale $\langle 0{,}1
\rangle $ s krokom $h=0{,}1.$ Hodnoty približných riešení porovnajme s analytickým riešením.


Riešenie: Z vlastnosti pravej strany vieme, že existuje práve jedno riešenie tejto Cauchyho úlohy. Toto riešenie je tvaru

\begin{displaymath}y= -\frac{1}{x+0{,}25}\end{displaymath}

a dostaneme ho použitím metódy separácie premenných. Keďže krok metódy je ekvidistantný $h=0{,}1$, riešenie hľadáme v bodoch

\begin{displaymath}
x_i = 0{,}1\cdot i, \quad i=1{,}2,\dots,10.
\end{displaymath}

Pre hodnoty $y_i, \ i=1{,}2,\dots,10$ dostávame pre jednotlivé schémy vzhľadom na pevný krok a tvar pravej strany vzorce: Eulerova metóda:

\begin{displaymath}y_{i+1} = y_i + h y_i^2, \ \ \ i=1{,}2,\dots,10;\end{displaymath}

modifikovaná Eulerova metóda:

\begin{displaymath}y_{i+1} = y_i + h( y_i+0{,}5 h y_i^2)^2, \ \ \ i=1{,}2,\dots,10;\end{displaymath}

Heunova metóda:

\begin{displaymath}y_{i+1} = y_i + 0{,}5h( y_i^2+(y_i+hy_i)^2)^2), \ \ \ i=1{,}2,\dots,10;\end{displaymath}

metóda Runge-Kutta 4. rádu:

\begin{displaymath}y_{i+1}= y_i +\frac{h}{6} ( k_1 +2 k_2+2k_3 + k_4), \end{displaymath}

kde

\begin{displaymath}
k_1 = y_i^2,\ \ k_2 = \( y_i+\frac{h}{2} k_1\)^2,\end{displaymath}


\begin{displaymath}k_3 = \( y_i+\frac{h}{2} k_2\)^2,\ \ k_4 = ( y_i+h k_3)^2,\ \
i=1{,}2,\dots,10.\end{displaymath}

Výsledky zapíšeme do tabuľky:
i $x_i$ $y(x_i)$ $y_i$ - Euler $y_i$ - mod. Euler $y_i$ - Heun $y_i$ - R-K
0 0,000 -4,00000 -4,000 -4,000 -4,000 -4,000
1 0,100 -2,85714 -2,400 -2,976 -2,912 -2,85734
2 0,200 -2,22222 -1,824 -2,3343 -2,275 -2,2224
3 0,300 -1,81818 -1,149 -1,90918 -1,86179 -1,81832
4 0,400 -1,53846 -1,2689 -1,61095 -1,57369 -1,53857
5 0,500 -1,33333 -1,10789 -1,39156 -1,36195 -1,33342
6 0,600 -1,17647 -0,98515 -1,22392 -1,2 -1,17654
7 0,700 -1,05263 -0,88809 -1,0919 -1,07224 -1,05269
8 0,800 -0,95238 -0,80923 -0,98534 -0,96894 -0,95243
9 0,900 -0,86956 -0,74374 -0,89758 -0,88371 -0,8696
10 1,000 -0,8 -0,68843 -0,82408 -0,81221 -0,80003