ODE45 の解が発散する場合 (理由と方法は関係ありません)、次の警告が表示され、ソルバーは続行できません。
警告: t=8.190397e+01 で失敗。時刻 t で許容される最小値 (2.273737e-13) よりもステップ サイズを小さくしないと、積分許容誤差を満たすことができません。
行列 (多数の入力) で ode45 を実行しているため、上記の状態 (失敗) がどの入力に対して発生するかを自動的に調べたいと考えています。つまり、配列に自動的に書き込むことができるode45 によって返されるこの状態の他の兆候はありますか? ステートメントで次のように使用できるものif
:
if {some variable is returned/is equal to ...} then {the solver has failed}
表示された警告を探すことなく、それらの誤った入力を自動的に識別します。