next up previous
Next: 45Auto Up: シミュレーションの基礎 Previous: Auto

RKF45

書式は以下の通りです。
rkf45(Real t, Matrix x, Matrix dx(), Matrix u, 
      Real dt)
dtは省略するとdt=1.0E-7となります。今まで述べてきた積分 計算でルンゲクッタ法の5次の公式も導くことが出来ます。しかしこの場合 は1ステップあたり関数計算を1 回行なう必要が有ります。しかし Fehlbergによってこれが6回ですむことが試みられました。この方法を RKF45と呼びます。5次版のアルゴリズムは以下のようになります。
\begin{leqnarray*}k_1 &=& h f(x_i, y_i) \\
k_2 &=& h f(x_i+\frac{h}{4}, y_i + \...
...k_5 + \frac{2}{55}k_6 \\
y_{i+1} &=& y_i + {\rm\Delta} y_i \\
\end{leqnarray*}
ここで更に6個のkiのうち4個用いてyi+1が4次まで正確になる ように係数を選ぶことが出来,4次版のアルゴリズムは,

\begin{displaymath}{\rm\Delta} y_i = \frac{25}{216}k_1 + \frac{1408}{2565}k_3
+ \frac{2197}{4104}k_4 - \frac{1}{5}k_5
\end{displaymath}

この方法は非常に計算回数を節約することが出来,しかも誤差は5次のルン ゲクッタなので更に小さくすることが出来ます。MATXではrkf45 という関数がこのアルゴリズムを実現しています。

Masanobu KOGA 平成11年9月20日