Runge-Kutta meetodid

Runge-Kutta meetodid on arvutusmatemaatikas algoritmide pere harilike diferentsiaalvõrrandite (ja harilike diferentsiaalvõrrandite süsteemide) ilmutatud või ilmutamata ligikaudse lahendi numbriliseks leidmiseks algtingimustega ülesande korral. Nad põhinevad iteratsioonil. Meetodi algse kuju töötas välja saksa matemaatik Carl Runge 1895 ning seda üldistas Martin Wilhelm Kutta 1901.  Pikemalt artiklis Klassikaline Runge-Kutta meetid 4. järku klassikaline Runge-Kutta meetod on nii laialt levinud, et seda nimetatakse sageli lihtsalt Runge-Kutta meetodiks. Olgu meil Cauchy ülesanne y ′ = f ( x , y ) , y ( x 0 ) = y 0 {\displaystyle {\textbf {y}}'={\textbf {f}}(x,{\textbf {y}}),{\textbf {y}}(x_{0})={\textbf {y}}_{0}} . Siis funktsiooni väärtus järgmises punktis arvutatakse järgmise valemi järgi: y n + 1 = y n + h 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) {\displaystyle {\textbf {y}}_{n+1}={\textbf {y}}_{n}+{h \over 6}({\textbf {k}}_{1}+2{\textbf {k}}_{2}+2{\textbf {k}}_{3}+{\textbf {k}}_{4})} kus k 1 = f ( x n , y n ) , {\displaystyle {\textbf {k}}_{1}={\textbf {f}}\left(x_{n},{\textbf {y}}_{n}\right),} k 2 = f ( x n + h 2 , y n + h 2 k 1 ) , {\displaystyle {\textbf {k}}_{2}={\textbf {f}}\left(x_{n}+{h \over 2},{\textbf {y}}_{n}+{h \over 2}{\textbf {k}}_{1}\right),} k 3 = f ( x n + h 2 , y n + h 2 k 2 ) , {\displaystyle {\textbf {k}}_{3}={\textbf {f}}\left(x_{n}+{h \over 2},{\textbf {y}}_{n}+{h \over 2}{\textbf {k}}_{2}\right),} k 4 = f ( x n + h , y n + h k 3 ) , {\displaystyle {\textbf {k}}_{4}={\textbf {f}}\left(x_{n}+h,{\textbf {y}}_{n}+h{\textbf {k}}_{3}\right),} h {\displaystyle {\textbf {}}h} — võrgu sammu suurus x {\displaystyle {\textbf {}}x} järgi. See meetod on 4. järku, st viga igal sammul on O ( h 5 ) {\displaystyle O(h^{5})} ja summaarne viga integreerimise lõppintervallil on O ( h 4 ) {\displaystyle O(h^{4})} . Otseste Runge-Kutta meetodite pere on 4. järku Runge-Kutta meetodi üldistus. See on antud valemitega y n + 1 = y n + h ∑ i = 1 s b i k i , {\displaystyle {\textbf {y}}_{n+1}={\textbf {y}}_{n}+h\sum _{i=1}^{s}b_{i}{\textbf {k}}_{i},} kus k 1 = f ( x n , y n ) , {\displaystyle {\textbf {k}}_{1}=f(x_{n},{\textbf {y}}_{n}),\,} k 2 = f ( x n + c 2 h , y n + a 21 h k 1 ) , {\displaystyle {\textbf {k}}_{2}=f(x_{n}+c_{2}h,{\textbf {y}}_{n}+a_{21}h{\textbf {k}}_{1}),\,} k 3 = f ( x n + c 3 h , y n + a 31 h k 1 + a 32 h k 2 ) , {\displaystyle {\textbf {k}}_{3}=f(x_{n}+c_{3}h,{\textbf {y}}_{n}+a_{31}h{\textbf {k}}_{1}+a_{32}h{\textbf {k}}_{2}),\,} ⋮ {\displaystyle \vdots } k s = f ( x n + c s h , y n + a s 1 h k 1 + a s 2 h k 2 + ⋯ + a s , s − 1 h k s − 1 ) . {\displaystyle {\textbf {k}}_{s}=f(x_{n}+c_{s}h,{\textbf {y}}_{n}+a_{s1}h{\textbf {k}}_{1}+a_{s2}h{\textbf {k}}_{2}+\cdots +a_{s,s-1}h{\textbf {k}}_{s-1}).} Konkreetse meetodi määravad arv s {\displaystyle s} ning koefitsiendid b i , a i j {\displaystyle b_{i},a_{ij}} ja c i {\displaystyle c_{i}} . Need koefitsiendid paigutatakse sageli tabelisse Runge-Kutta meetodi koefitsiendid peavad rahuldama tingimusi ∑ j = 1 i − 1 a i j = c i {\displaystyle \sum _{j=1}^{i-1}a_{ij}=c_{i}} ( i = 2 , … , s {\displaystyle i=2,\ldots ,s} ). Kui me tahame, et meetod oleks p {\displaystyle p} -järku, siis tuleb tagada ka tingimus y ¯ ( h + x 0 ) − y ( h + x 0 ) = O ( h p + 1 ) {\displaystyle {\bar {\textbf {y}}}(h+x_{0})-{\textbf {y}}(h+x_{0})=O(h^{p+1})} , kus y ¯ ( h + x 0 ) {\displaystyle {\bar {\textbf {y}}}(h+x_{0})} on Runge-Kutta meetodil saadud lähendus. Pärast mitmekordset diferentseerimist muutub see tingimus polünomiaalvõrrandite süsteemiks, mille lahendid on meetodi koefitsiendid. Newmarki meetod Euleri meetod Carl Runge. Über die numerische Auflösung von Differentialgleichungen. – Mathematische Annalen, kd 46, 1895, lk 167–178.