Mathematica で式の評価中に生成される実際のメッセージを取得する方法はありますか? ODE を数値的に解いているとします。
In[1] := sol = NDSolve[{x'[t] == -15 x[t], x[0] == 1}, x, {t, 0, 1},
Method -> "ExplicitEuler"];
この場合、NDSolve::mxst
エラーが表示され、 で 10000 ステップの最大数に達したことが通知されt == 0.08671962566152185
ます。ここで$MessageList
変数を見ると、メッセージ名だけが表示されます。t
特に、終了を決定した場所の値に関する情報NDSolve
が失われています。
今では、標準のアドオン パッケージの 1 つから関数sol
を使用していつでもその情報を取得できInterpolatingFunctionDomain
ますが、何らかの方法でメッセージからそれを引き出すことができれば、非常に役立ちます。