next up previous
Next: Adams-Moulton Predictor-Corrector法 Up: 計算機シミュレーション Previous: Tustinの方法

Runge-Kuttaの方法

この方法は最も広く用いられている方法である。

いまシステムが

\begin{displaymath}
\dot{x}_i=f_i(x_1,x_2,\cdots ,x_n,t)=f_i(\mbox{\boldmath$X$},t)
\end{displaymath} (7.29)

で与えられ、初期条件が
\begin{displaymath}
\begin{array}{ccc}
x_i(t_0)=x_{i0} & , & i=1,2,\cdots ,n
\end{array}\end{displaymath} (7.30)

で与えられるとする。そして、$x_i(k)$$t=t_k$のときの$x_i$の値、 $f_i(\mbox{\boldmath$X$}(k),t_k)$$t=t_k$のときの$x_i$の微分値とする。そして$T$を 時間変数$t$のきざみ幅とすると、Runge-Kuttaの方法は次式で表される。すなわ ち、
\begin{displaymath}
\left\{ \begin{array}{l}
K_{1i}=Tf_i(\mbox{\boldmath$X$}(k)...
...th$X$}(k)+\mbox{\boldmath$K$}_3),(t_k+T)]
\end{array} \right.
\end{displaymath} (7.31)

としたとき
\begin{displaymath}
x_i(k+1)=x_i(k)+\frac{1}{6}[K_{1i}+2K_{2i}+2K_{3i}+K_{4i}]
\end{displaymath} (7.32)

$i=1,2,\cdots ,n$
より計算をする。ここに $\mbox{\boldmath$K$}_1,\mbox{\boldmath$K$}_2,\mbox{\boldmath$K$}_3,\mbox{\boldmath$K$}_4$$n\times 1$の ベクトルである。

この方法は一般の積分ごとに関数 $f_i(x_1,x_2,\cdots x_n,t)$の4つの評価 を必要とするので計算には相当の時間を要するが精度は高い。

[例]

\begin{displaymath}
\dot{x}=x+t
\end{displaymath} (7.33)

但し初期値$x=1,t=0$とする。
いま、$T=0.1$とし、$k=0$では、 $\mbox{\boldmath$X$}(k)=1,t_k=0$ゆえ、$k=1$では
\begin{displaymath}
\left\{ \begin{array}{l}
K_{11}=0.1 \{ 1+0 \} =0.1 \\
K_{...
... K_{41}=0.1 \{ 1.1105+0.1 \} =0.12105 \\
\end{array} \right.
\end{displaymath} (7.34)

但し、$i=1$とする。
となるので
$\displaystyle x_1(1)$ $\textstyle =$ $\displaystyle x_1(0)+\frac{1}{6}[0.1+2\times 0.11+2\times 0.1105+0.12105]$  
  $\textstyle =$ $\displaystyle 1.1103$ (7.35)

つぎに、初期値として$t=0.1$$x=1.1103$として上式と同様の手順を繰り返す。

(7.33)式の解は

\begin{displaymath}
x=2e^t-t-1
\end{displaymath} (7.36)

であるから、$t=0.1$の時

\begin{displaymath}
x=1.1103
\end{displaymath}

となり、数値計算結果と一致する。

Runge-Kutta法の精度を向上するものとしてRunge-Kutta-Merson法がある。 これは1ステップに5区間をとったもので、次のアルゴリズムで表される。

\begin{displaymath}
\left\{ \begin{array}{l}
K_{1i}=\frac{\displaystyle{1}}{\di...
...x_i(k+1)=x_i(k)+0.5(K_{1i}+4K_{4i}+K{3i})
\end{array} \right.
\end{displaymath} (7.37)

$i=1,2,\cdots ,n$

next up previous
Next: Adams-Moulton Predictor-Corrector法 Up: 計算機シミュレーション Previous: Tustinの方法
Yasunari SHIDAMA
平成15年7月29日