next up previous contents
Next: roots Up: リファレンスマニュアル Previous: rkf45

  
rngkut4

【目的】
rngkut4 - 4 次のルンゲクッタ法で常微分方程式を解く
【形式】
X = rngkut4(t,x,diff_eqs,h)
   Matrix X;
   Real t;
   Matrix x;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Real h;
  
X = rngkut4(t,x,diff_eqs,u,h)
   Matrix X;
   Real t;
   Matrix x;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Matrix u;
   Real h;
  
X = rngkut4(t,x,diff_eqs,link_eqs,h)
   Matrix X;
   Real t;
   Matrix x;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Matrix link_eqs(t,x);   (Real t; Matrix x;)
   Real h;
【詳細】
rngkut4(t,x,diff_eqs,h)は,関数diff_eqs()で定義される常微分方程式 を 4 次のルンゲクッタの算法を使い,微少時間 h 後の解を 求める。打ち切り誤差のオーダーは h5 である。 rngkut4(t,x,diff_eqs,u,h)は,外部信号 u を,diff_eqs() に渡しながら, 常微分方程式を解き,微少時間 h 後の解を返す。 rngkut4(t,x,diff_eqs,link_eqs,h)は,関数 link_eqs() の計算結果を 外部信号 u として,関数 diff_eqs() に渡しながら,常微分方程式を 解き,微少時間 h 後の解を返す。 引数の意味を次に示す。
t:現在時刻
x:現在状態
diff_eqs(t,x,u):時刻 t,状態 x,外部信号 u から状態の
  微分を計算
h:刻み幅
u:diff_eqs() に渡される外部信号
link_eqs(t,x):時刻 t,状態 x から外部信号を計算する
【例題】
リファレンスマニュアル参照。
【参照】
rkf45(2.181), Ode(2.143)


Masanobu KOGA 平成11年10月2日