有没有办法获得在Mathematica中评估表达式时生成的实际消息?说我在数字上解决了一个ODE并且它会爆炸,就像这样
In[1] := sol = NDSolve[{x'[t] == -15 x[t], x[0] == 1}, x, {t, 0, 1},
Method -> "ExplicitEuler"];
在这种情况下,我会收到NDSolve::mxst
错误,告诉我在t == 0.08671962566152185
达到的最大10000步数。现在,如果我查看$MessageList
变量,我只会收到消息名称;特别是,t
决定退出的NDSolve
的价值信息已丢失。
现在,我总是可以使用标准附加软件包中的sol
函数从InterpolatingFunctionDomain
获取该信息,但如果我能以某种方式将其从消息中删除,那么它将是非常有帮助。