Inženýrská matematika Robert Mařík © 2007-2009 

5.1 Metody s konstatním krokem

Řešíme počáteční úlohu pro diferenciální rovnici prvního řádu rozřešenou vzhledem k derivaci:1 \DS{\left \{\begin{array}{rlrlrl}y^{\, \prime }& = f(x,y)& & \cr y(x_{0})& = y_{0}& \cr \end{array}\right .}

Řešení aproximujeme po částech lomenou čarou (viz obrázky 5.2 a 5.3), vodorovná vzdálenost mezi jednotlivými uzly se nazývá krok, označujeme jej \DS{h}, má-li další část lomené čáry směrnici \DS{k}, dostaneme další bod pomocí vztahů \DS{\left \{\begin{array}{rlrlrl}x_{i+1}& = x_{i} + h& & \cr y_{i+1}& = y_{i} + kh& \cr \end{array}\right .}

Uvedeme si na ukázku metody s pevným krokem, kdy neměníme krok, ale pouze směr lineární funkce, která aproximuje integrální křivku. Podle toho, jak v jednotlivých krocích volíme směrnici aproximační funkce, rozlišujeme několik metod.

Eulerova metoda
Jako směrnici tečny použijeme hodnotu směrového pole v bodě, ze kterého vycházíme: \DS{k = k_{1} := f(x_{i},y_{i})}
RK
(metoda Runge-Kutta druhého řádu) Jako směrnici tečny použijeme hodnotu směrového pole v bodě, do kterého bychom se dostali po provedení půlky kroku Eulerovou metodou. Podíváme se tedy, kam bychom se dostali Eulerovou metodou, podíváme se jak po cestě vypadá směrové pole a podle toho zvolíme výchozí směr: \DS{k = k_{2} := f\left (x_{i} +{ h \over 2} ,y_{i} + k_{1}{ h \over 2} \right )}
RK4
(metoda Runge-Kutta čtvrtého řádu) Zde se jedná o poněkud rafinovanější variantu předchozího. Hlavní myšlenka spočívá v tom že podobně jako u metody druhého řádu uděláme fiktivně půl kroku směrem \DS{k_{1}} podle Eulerovy metody a ze směrového pole v bodě do kterého se dostaneme získáme směr \DS{k_{2}}. Poté podobně provedeme opět fiktivně půl kroku směrem \DS{k_{2}} a ze směrového pole v bodě, do kterého se dostaneme, získáme směr \DS{k_{3}}. Konečně, směrem \DS{k_{3}} provedeme fiktivně celý krok a získáme směr \DS{k_{4}}. Ze všech těchto směrů vypočítáme vážený průměr ve kterém jsou \DS{k_{2}} a \DS{k_{3}} zastoupeny dvojnásobnou vahou oproti \DS{k_{1}} a \DS{k_{4}} a získáme směr pro provedení dalšího kroku metody. K předešlým vzorcům tedy přidáváme: \DS{k ={ 1 \over 6} (k_{1} + 2k_{2} + 2k_{3} + k_{4})},
kde \DS{k_{3} := f\left (x_{i} +{ h \over 2} ,y_{i} + k_{2}{ h \over 2} \right )} a \DS{k_{4} := f(x_{i} + h,y_{i} + k_{3}h)}

                                                 Euler-
1.8                       ###
                          #k2
1.6
  ###                     ###
1.k41#                     #k3
                                                 RK--
1.2

  1                                              RK4--
                                             ------------
0.8                                           Pˇresn´e#ˇreˇsen´i
                                                 #k4
0.6

  0.2                                            0.4

Obrázek 5.1: Jeden krok pro každou z metod a počáteční úlohu \DS{y^{\, \prime } ={ 3 \over 2} y^{3} -\left ({ 11 \over 2} x\right )^{4}}, \DS{y(0.2) = 1.4}


   ##############|###############   ------------
   ####′######2##|#xn+1#=#xn +#h#   Pˇresn´e ˇreˇsen´i-RK-
   ###y#=#x#+y###|#y####=#y#+#kh#                -RK4-
   #y(0) =#1#####|##n+1####n#####
1.6                   h = 0.2                     ------
                                                  Euler

1.4


1.2                       ################
                          #k1 pro#druhy´krok
               ###
               k2#
  1#k1
   ###
   0                     0.2                     0.4

Obrázek 5.2: Numerické řešení počáteční úlohy \DS{y^{\, \prime } = x + y^{2}}, \DS{y(0) = 1}


   ##############|###############   ------------
2.4####′######3##|#xn+1 =#xn#+#h#   Pˇresn´e ˇreˇsen´i
   ###y#=#x+#y###|#y###=#y##+#kh#
2.2#y(0)#=#1######|##n+1###n######                -----
                      h = 0.2                    RK4-
  2                                              RK

1.8
                                                 ------
1.6                                              Euler

1.4
                          ################
1.2           ###         k1#pro druh´y#krok
   ###        #k2
  1k1#
  0                      0.2                    0.4

Obrázek 5.3: Numerické řešení počáteční úlohy \DS{y^{\, \prime } = x + y^{3}}, \DS{y(0) = 1}

   Robert Mařík, Ústav matematiky, Lesnická a dřevařská fakulta MZLU v Brně © 2007-2009