このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ode15i
完全陰的微分方程式の求解 — 可変次数法
構文
説明
[
はさらに、t
,y
,te
,ye
,ie
] = ode15i(odefun
,tspan
,y0
,yp0
,options
)(t,y,y')
の関数 (イベント関数) がゼロになる点を求めます。出力の te
はイベント時点、ye
はイベント時点における解、ie
はトリガーされたイベントのインデックスです。
各関数に対して、ゼロで積分を終了するかどうかと、ゼロクロッシングの方向を考慮するかどうかを指定します。これを行うには、myEventFcn
や @myEventFcn
などの関数に 'Events'
プロパティを設定し、対応する関数 [value
,isterminal
,direction
] = myEventFcn
(t
,y
,yp
) を作成します。詳細については、ODE のイベント検出を参照してください。
は、区間 sol
= ode15i(___)[t0 tf]
の任意の点で解を計算する関数 deval
で使用できる構造体を返します。前述の構文にある任意の入力引数の組み合わせが使用できます。
例
入力引数
出力引数
ヒント
ode15i
にヤコビ行列を指定することは、信頼性と効率性のために重要です。また、系が大規模かつスパースである場合、ヤコビ スパース パターンを指定してソルバーを補助することもできます。いずれの場合でも、odeset
とJacobian
オプションまたはJPattern
オプションを使用して行列を渡します。
アルゴリズム
ode15i
は 1 次~ 5 次の後退差分式 (BDF) に基づく可変ステップ、可変次数 (VSVO) ソルバーです。ode15i
は完全陰的微分方程式およびインデックス 1 の微分代数方程式 (DAE) と使用できるように設計されています。補助関数 decic
は ode15i
[1] との使用に適した矛盾のない初期条件を計算します。
参照
[1] Lawrence F. Shampine, “Solving 0 = F(t, y(t), y′(t)) in MATLAB,” Journal of Numerical Mathematics, Vol.10, No.4, 2002, pp. 291-310.
バージョン履歴
R2006a より前に導入