В Mathematica, как увидеть полный вывод сообщений? - PullRequest
1 голос
/ 05 февраля 2011

При выполнении оптимизации с использованием Minimize [] в Mathematica я получаю то, что выглядит как некоторые NaN:

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 05 февраля 2011

Два комментария. Во-первых, Off[General::stop] должен делать именно то, что вы хотите, т. Е. Отключать подавление сообщений. Во-вторых, подавлены только сообщения данного типа, например, NMinimize::nnum в вашем случае. Других сообщений нет, поэтому, если, например, $IterationLimit превышен, вы получите это сообщение.

EDIT: Пример:

On[General::stop]
Do[
NIntegrate[Sin[a*x], {x, 0, 10}];
If[i == 20, 1/0],
{i, 1, 100}]
3 голосов
/ 05 февраля 2011

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

Off[General::stop]

- Марка

...