Недостаточно памяти на MATLAB

Я пытаюсь запустить скрипт на matlab_2011a, который рассчитывает те же средние значения для климатологии на 50 лет. Когда я начал запускать скрипт все годы, он работал нормально до 20-й итерации, а затем появилось сообщение:

Out of memory. Type HELP MEMORY for your options. 

Затем я использовал clear v1 v2 v3 ..., чтобы очистить все переменные внутри функции, также я использовал clear train, потому что я видел его на другом форуме, и с изменениями или нет, я снова запускаю сценарий (начиная с 21-й итерации), и в результате получается то же сообщение, но, как ни странно, иногда оно запускается год, а затем стоп.

Любые идеи о решении этой проблемы? Что я должен очистить, чтобы работать правильно? (в этой версии Matlab нет памяти команд, которая может мне помочь).

РЕДАКТИРОВАТЬ

Решение: была переменная, которая была слишком большой, сохранение результатов по-разному предотвращало ошибку нехватки памяти.

5
задан 12 November 2012 в 18:22

3 ответа

Попробуй, у меня это хорошо работает.

  • Перейдите в раздел Домашняя страница -> значок предпочтения -> Общие сведения -> Память кучи Java -> Выделите необходимый объем памяти
  • В окне настроек перейдите в «Рабочее пространство» (из кучи Java) уровень памяти) -> См. «Ограничение размера массива Matlab». Убедитесь, что сняли флажок «Ограничивать максимальный размер массива процентом ОЗУ». Потому что вы хотите расширить память, чтобы нам не нужна эта функция.
  • Готов.
0
ответ дан 12 November 2012 в 18:22

Управление памятью является давней проблемой для Matlab. Наиболее вероятной причиной вашего out of memory error является утечка памяти. Можно обнаружить утечки памяти, но их поиск технически сложен и требует много времени.

Чтобы полностью освободить память, необходимо перезапустить Matlab. Если есть способ сохранить результаты после обработки некоторых данных, сохраните данные и перезапустите Matlab. Перезагрузите данные и обработайте еще один кусок данных. Повторяйте, пока все данные не будут обработаны. Количество данных для обработки должно быть менее 20 лет.

Это далеко не элегантно и зависит от возможности сохранять и перезагружать данные. Кроме того, я предполагаю, что размер самих данных не является проблемой.

0
ответ дан 12 November 2012 в 18:22

Я не заядлый пользователь MATLAB, но могу предложить вам попробовать:

File > Preferences > General > Java Heap Memory. 

Тогда вы сможете увеличить объем памяти сверх значения по умолчанию 196 МБ. Надеюсь, это поможет.

0
ответ дан 12 November 2012 в 18:22

Другие вопросы по тегам:

Похожие вопросы: