ode45
ノンスティッフ微分方程式の求解 — 中次数法
構文
説明
[ は、t,y] = ode45(odefun,tspan,y0)tspan = [t0 tf] のときに、初期条件 y0 を使用して、連立微分方程式 を t0 から tf まで積分します。解の配列 y の各行は、列ベクトル t に返される値に対応します。
すべての MATLAB® ODE ソルバーは、 の形式の連立方程式、あるいは質量行列 を含む問題を解くことができます。すべてのソルバーは類似した構文を使用します。ode23s ソルバーは、質量行列が定数である場合にのみ、これを含む問題を解くことができます。ode15s および ode23t は、特異質量行列をもつ方程式、つまり微分代数方程式 (DAE) を解くことができます。odeset の Mass オプションを使用して質量行列を指定します。
ode45 は汎用的な ODE ソルバーであり、ほとんどの問題に対して最初に試すべきソルバーです。ただし、問題がスティッフである場合や高い精度が要求される場合、他の ODE ソルバーの方が適していることもあります。詳細については、ODE ソルバーの選択を参照してください。
[ はさらに、(t,y) の関数 (イベント関数) がゼロになる点を求めます。出力の t,y,te,ye,ie] = ode45(odefun,tspan,y0,options)te はイベント時点、ye はイベント時点における解、ie はトリガーされたイベントのインデックスです。
各関数に対して、ゼロで積分を終了するかどうかと、ゼロクロッシングの方向を考慮するかどうかを指定します。これを行うには、myEventFcn や @myEventFcn などの関数に 'Events' プロパティを設定し、対応する関数 [value,isterminal,direction] = myEventFcn(t,y) を作成します。詳細については、ODE のイベント検出を参照してください。
例
入力引数
出力引数
アルゴリズム
関数 ode45 は、Dormand-Princean の陽的 Runge-Kutta (4,5) 公式に基づきます。これは、単一ステップ ソルバーです。つまり、y(tn) の計算では、その直前の時点の解 y(tn-1) のみが必要です [1]、[2]。
参照
[1] Dormand, J. R. and P. J. Prince, “A family of embedded Runge-Kutta formulae,” J. Comp. Appl. Math., Vol. 6, 1980, pp. 19–26.
[2] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
拡張機能
バージョン履歴
R2006a より前に導入








