Я пытаюсь запустить скрипт на matlab_2011a, который рассчитывает те же средние значения для климатологии на 50 лет. Когда я начал запускать скрипт все годы, он работал нормально до 20-й итерации, а затем появилось сообщение:
Out of memory. Type HELP MEMORY for your options.
Затем я использовал clear v1 v2 v3 ...
, чтобы очистить все переменные внутри функции, также я использовал clear train
, потому что я видел его на другом форуме, и с изменениями или нет, я снова запускаю сценарий (начиная с 21-й итерации), и в результате получается то же сообщение, но, как ни странно, иногда оно запускается год, а затем стоп.
Любые идеи о решении этой проблемы? Что я должен очистить, чтобы работать правильно? (в этой версии Matlab нет памяти команд, которая может мне помочь).
РЕДАКТИРОВАТЬ
Решение: была переменная, которая была слишком большой, сохранение результатов по-разному предотвращало ошибку нехватки памяти.
Попробуй, у меня это хорошо работает.
Управление памятью является давней проблемой для Matlab. Наиболее вероятной причиной вашего out of memory error
является утечка памяти. Можно обнаружить утечки памяти, но их поиск технически сложен и требует много времени.
Чтобы полностью освободить память, необходимо перезапустить Matlab. Если есть способ сохранить результаты после обработки некоторых данных, сохраните данные и перезапустите Matlab. Перезагрузите данные и обработайте еще один кусок данных. Повторяйте, пока все данные не будут обработаны. Количество данных для обработки должно быть менее 20 лет.
Это далеко не элегантно и зависит от возможности сохранять и перезагружать данные. Кроме того, я предполагаю, что размер самих данных не является проблемой.
Я не заядлый пользователь MATLAB, но могу предложить вам попробовать:
File > Preferences > General > Java Heap Memory.
Тогда вы сможете увеличить объем памяти сверх значения по умолчанию 196 МБ. Надеюсь, это поможет.