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ますが、何らかの方法でメッセージからそれを引き出すことができれば、非常に役立ちます。