ルンゲ・クッタ法

作成日 : 2022-01-26
最終更新日 :

ルンゲ・クッタ法

ルンゲ・クッタ法とは、常微分方程式の数値解法としてよく使われる方法である。 `y'=f(x,y)` の形の微分方程式に対して、刻み幅を `h` とするとき、

`f_1 = hf(x,y), f_2 = h(x+1/2h, y+1/2f_1), f_3=h(x+1/2h,y+1/2f_2), f_4=h(x+h,y+f_3)`
を計算して、
`f(x+h) ~= f(x) + 1/6(f_1+2f_2+2f_3+f_4)`
として求める方法をいう。

例1 解析解が求められない場合

例 1 は新装版 数学公式集 p.202 から引用した。微分方程式は次で与えられる :

`y'=x+y^2, y(0)=0`
この微分方程式は解析解を持たない。刻み幅 `h=0.2` で、`y(0.4)` の値を求める。 以下は JavaScript の計算である。

`x=0.2``x=0.4`
`f_1`
`f_2`
`f_3`
`f_4`
`y(x)`

同書では `y(0.4)=0.080524` が与えられている。JavaScript の計算と合っている。

例2 解析解が求められる場合

例 2 は C言語による標準アルゴリズム事典 pp.125-127 から引用した。

`x=0.25``x=0.50`
RG
真値

まりんきょ学問所JavaScript 手習い > ルンゲ・クッタ法


MARUYAMA Satosi