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

  
Ode45Hybrid

【目的】
Ode45Hybrid - RKF45法で常微分方程式を解く (外部信号をサンプリング毎に更新)
【形式】
{T,X,U} = Ode45Hybrid(t0,t1,dt,x0,diff_eqs,link_eqs)
   Array T,X,U;
   Real t0,t1,dt;
   Matrix x0;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Matrix link_eqs(t,x);   (Real t; Matrix x;)
  
{T,X,U} = Ode45Hybrid(t0,t1,dt,x0,diff_eqs,link_eqs,h)
   Array T,X,U;
   Real t0,t1,dt;
   Matrix x0;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Matrix link_eqs(t,x);   (Real t; Matrix x;)
   Real h;
  
{T,X,U} = Ode45Hybrid(t0,t1,dt,x0,diff_eqs,link_eqs,h,dtsav)
   Array T,X,U;
   Real t0,t1,dt;
   Matrix x0;
   Matrix diff_eqs(t,x,u); (Real t; Matrix x,u;)
   Matrix link_eqs(t,x);   (Real t; Matrix x;)
   Real h,dtsav;
【詳細】
{T, X, U} = Ode45Hybrid(t0,t1,x0,diff_eqs,link_eqs)は,関数 diff_eqs() で定義される常微分方程式を RKF45法を使い,きざみ幅 h = 4.0E-2 で 解き,状態の時系列 X,外部信号の時系列 U,時間の系列 T を返す。各時刻 における打ち切り誤差のオーダーは h6 である。 サンプリング時間 dt 毎に link_eqs() を呼び出し,diff_eqs() に渡す 外部信号 u を更新する。 Ode45Hybrid(t0,t1,dt,x0,diff_eqs,link_eqs,h)は,きざみ幅 h で常微分 方程式を解く。 Ode45Hybrid(t0,t1,dt,x0,diff_eqs,link_eqs,h,dtsav)は,保存するデータ の間隔を dtsav 以上にし,データを間引く。 引数の意味を次に示す。
t0:初期時刻
t1:終端時刻
dt:サンプリング時間
x0:初期状態
diff_eqs(t,x,u):時刻 t,状態 x,外部信号 u から状態の
  微分を計算
link_eqs(t,x):時刻 t,状態 x から外部信号を計算する
h:きざみ幅
dtsave:データ保存の最小間隔
【例題】
ユーザーズマニュアル参照。
【参照】
rkf45(2.181), Ode45(2.144), Ode45Auto(2.145), Ode45HybridAuto(2.147)

next up previous contents
Next: Ode45HybridAuto Up: リファレンスマニュアル Previous: Ode45Auto
Masanobu KOGA 平成11年10月2日