在使用Mathematica中的Minimize []执行优化时,我得到的似乎是一些NaN:
NMinimize :: nnum:函数值 Indeterminate不是{q} =处的数字 {0}。 >> NMinimize :: nnum:函数 value Indeterminate不是一个数字 {q} = {0.}。 >> NMinimize :: nnum:The 函数值Indeterminate不是 {q} = {0.}处的数字。 >> 一般::停止:进一步输出 NMinimize :: nnum将被禁止 在此计算过程中。 >>
NaN可以,因为它们似乎不会影响优化结果。但是因为正在抑制进一步的消息,我不确定我是否收到与超出最大迭代次数相关的消息(例如),但没有达到要求的精度。
那么,有没有办法查看完整的邮件列表?这样的选项(如果存在)是否必须在评估之前激活,或者是否有完整的消息缓冲区,我可以在之后进行咨询?优化需要非常很长时间,因此我希望避免重新计算它。
我只找到了Off和On功能,这似乎没有我想要的功能。
答案 0 :(得分:3)
试试这个:
Off[General::stop]
- 标记
答案 1 :(得分:3)
两条评论。首先,Off[General::stop]
应该完全符合您的要求,即关闭消息抑制。其次,只有特定类型的消息被抑制,例如NMinimize::nnum
。其他消息不是,因此,例如,如果超出$IterationLimit
,您将收到该消息。
编辑: 例如:
On[General::stop]
Do[
NIntegrate[Sin[a*x], {x, 0, 10}];
If[i == 20, 1/0],
{i, 1, 100}]