Matlab: возможно ли сохранить в рабочей области вектор, содержащий 4 миллиона значений? - PullRequest
1 голос
/ 19 марта 2011

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

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

В 32-битной Windows вы можете иметь максимум двойной массив из 155-200 миллионов элементов.Проверьте другие ОС на странице поддержки Mathworks .

1 голос
/ 31 марта 2011

На моей машине требуется 0,01 с, чтобы получить случайный вектор с 4 миллионами элементов, с whos вы можете видеть, что он занимает (только) 32 МБ.

Для сохранения такого объема данных с помощью MATLAB потребуется всего несколько секунд. Если вы работаете с post-R2007b, то, возможно, лучше сохранить с опцией '-v7.3', более новые версии MATLAB по умолчанию используют общий формат HDF5, но может вызывать некоторые проблемы с производительностью / использованием диска.

1 голос
/ 19 марта 2011

Да, просто используйте команду save . Если вам просто нужно это для последующих вычислений Matlab, то лучше сохранить его в формате .mat .

save('SavedFile.mat','largeVector')

Затем вы можете загрузить файл в любое время, когда вам это нужно, используя функцию load .

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