В Mathematica, как увидеть полный вывод сообщений?

Выполняя оптимизацию с помощью Minimize[] в Mathematica, я получаю что-то похожее на NaN:

NMinimize::nnum: значение функции Indeterminate не является числом в {q} = {0.}. >> NMinimize::nnum: Значение функции Indeterminate не является числом в {q} = {0.}. >> NMinimize::nnum: Значение функции Indeterminate не является числом в {q} = {0.}. >> General::stop: Дальнейший вывод NMinimize::nnum будет подавляться во время этого вычисления. >>

С NaN все в порядке, потому что они, похоже, не влияют на результат оптимизации. Но поскольку дальнейшие сообщения подавляются, я не уверен, что получаю сообщения, касающиеся (например) превышения максимального количества итераций без достижения запрошенной точности.

Итак, есть ли способ увидеть полный список сообщений? Должна ли такая опция, если она существует, быть активирована перед оценкой, или есть полный буфер сообщений, с которым я могу ознакомиться позже? Оптимизация занимает очень много времени, поэтому мне не хотелось бы пересчитывать ее заново.

Я нашел только функции «Выкл.» и «Вкл.», которые, похоже, не делали того, что я хотел.


person Luís Marques    schedule 05.02.2011    source источник


Ответы (2)


Два комментария. Во-первых, 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}]
person acl    schedule 05.02.2011

Попробуй это:

Off[General::stop]

--Отметка

person mef    schedule 05.02.2011