ode15s
スティッフな微分方程式および微分代数方程式 (DAE) の求解 — 可変次数法
構文
説明
[
は、t
,y
] = ode15s(odefun
,tspan
,y0
)tspan = [t0 tf]
のときに、初期条件 y0
を使用して、微分方程式系 を t0
から tf
まで積分します。解の配列 y
の各行は、列ベクトル t
に返される値に対応します。
すべての MATLAB® ODE ソルバーは、 の形式の方程式系、あるいは質量行列 を含む問題を解くことができます。すべてのソルバーは類似した構文を使用します。ode23s
ソルバーは、質量行列が定数である場合にのみ、これを含む問題を解くことができます。ode15s
および ode23t
は、特異質量行列をもつ方程式、つまり微分代数方程式 (DAE) を解くことができます。odeset
の Mass
オプションを使用して質量行列を指定します。
[
はさらに、(t,y) の関数 (イベント関数) がゼロになる点を求めます。出力の t
,y
,te
,ye
,ie
] = ode15s(odefun
,tspan
,y0
,options
)te
はイベント時点、ye
はイベント時点における解、ie
はトリガーされたイベントのインデックスです。
各関数に対して、ゼロで積分を終了するかどうかと、ゼロクロッシングの方向を考慮するかどうかを指定します。これを行うには、myEventFcn
や @myEventFcn
などの関数に 'Events'
プロパティを設定し、対応する関数 [value
,isterminal
,direction
] = myEventFcn
(t
,y
) を作成します。詳細については、ODE のイベント検出を参照してください。
例
入力引数
出力引数
アルゴリズム
ode15s
は 1 次~ 5 次の数値微分式 (NDF) に基づく可変ステップ、可変次数 (VSVO) ソルバーです。オプションとして、一般的に NDF より効率の低い後退差分式 (BDF、Gear 法とも呼ばれる) も使用できます。関数 ode113
と同じように、関数 ode15s
も、多段ソルバーです。ode45
が失敗したり非常に非効率なために問題がスティッフであると考えられる場合、あるいは微分代数方程式 (DAE) を解く場合は、ode15s
を使用してください [1]、[2]。
参照
[1] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
[2] Shampine, L. F., M. W. Reichelt, and J.A. Kierzenka, “Solving Index-1 DAEs in MATLAB and Simulink,” SIAM Review, Vol. 41, 1999, pp. 538–552.
拡張機能
バージョン履歴
R2006a より前に導入