数値解法の精度比較

解析解が分かっている常微分方程式を オイラー法RK4(4次ルンゲ=クッタ法)で解き、刻み幅 h を変えて 1 次と 4 次の誤差の違いを体感します。

0.50
-1.00
10
厳密解 y = eat オイラー法(1次) RK4(4次)
刻み幅 h
ステップ数 N
最終誤差 オイラー
最終誤差 RK4
解の軌跡(y vs t と各ステップの点)
誤差の蓄積 |数値解 − 厳密解|(t ごと)
多くの微分方程式は手で解けないので、コンピュータは小さな刻み幅 h ごとに少しずつ前へ進めて近似します。
ここでは厳密解が y = e^{at} と分かっている dy/dt = a·y(初期値 y(0)=1)を題材に、最も単純なオイラー法と高精度なRK4を比べます。
オイラー法の 1 ステップの誤差は 程度、RK4 は h⁵ 程度。全体ではオイラー法 ∝ h(1次)、RK4 ∝ h⁴(4次)です。h を半分にすると誤差はオイラーで約 1/2、RK4 で約 1/16 になります。スライダーで h を動かして確かめましょう。

いま何が起きている?

ここがポイント