Matlab: получение «Флаг состояния непредвиденной ошибки. Сброс в правильное состояние» - PullRequest
2 голосов
/ 24 апреля 2010

У меня есть скрипт Matlab, который каждый сейчас и они выдает сообщение:

Caught std::exception Exception message is:
bad allocation
Unexpected error status flag encountered.  Resetting to proper state.

Что может быть причиной этого?

Ответы [ 3 ]

2 голосов
/ 25 апреля 2010

Это ошибка в MATLAB, в которой некоторая часть MATLAB неправильно обрабатывает исключение std :: bad_alloc (std :: bad_alloc - это исключение нехватки памяти, выброшенное из библиотеки времени выполнения C ++).

«Обнаружен флаг состояния непредвиденной ошибки. Сброс в надлежащее состояние». это внутренняя диагностика - вы не должны видеть ее, если MATLAB не попал в плохое состояние, что в данном случае происходит, потому что он сталкивается с bad_alloc где-то, где его не ожидали. Последние версии MATLAB исправили большинство из этих проблем, за исключением случаев с очень низким объемом памяти (например, осталось менее 1 килобайта свободной памяти). Какую версию вы используете?

2 голосов
/ 13 июля 2012

Это происходило со мной, и оказалось, что у меня слишком много открытых файлов. fclose('all') вернул все в нормальное состояние, и я убедился, что за всеми моими fopen последовали fclose.

2 голосов
/ 24 апреля 2010

Мое лучшее предположение состоит в том, что ваш скрипт пытается выделить немного памяти и терпит неудачу. Возникновение такой ошибки будет зависеть от наличия памяти на вашем компьютере во время попытки выделения времени. Объем доступной памяти зависит от того, что происходит в то время в других программах, от операционной системы и даже от состояния вашего сеанса Matlab.

Для более точного диагноза вам придется рассказать нам больше, возможно, даже опубликовать свой сценарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...