2013-04-26 1 views
4

У меня есть большой массив (1024x1024x360), и я хочу сохранить его в файл мата. Когда я просто пытаюсьНе могу сохранить действительно большую матрицу в Matlab

A=rand(1024,1024,360) 
save('filename.mat','A'); 

переменная создается в рабочем пространстве, файл создается, но остается пустым ... Я использую Matlab 2012a на Win7-64 машине, Почему это происходит?

ответ

6

В более ранних версиях Matlab не удалось сохранить переменные размером более 2 ГБ. Формат файла сохранения по умолчанию может быть установлен на более старый тип даже в более новых версиях Matlab; моя собственная установка R2013a, похоже, была установлена ​​на v7, что не спасет ничего такого большого. У вас есть два варианта: либо указать формат для этого файла, используя дополнительный флаг:

save('filename.mat','A','-v7.3'); 

или изменить значение по умолчанию для всех сохранения файлов, запустив preferences и глядя в MAT-файлах площади под Генерального.

+3

+1 просто помните, что v7.3 основан на формате HDF5 в отличие от предыдущих версий: [MATLAB: Различия между версиями .mat] (http://stackoverflow.com/questions/4950630/matlab-differences-between-mat -versions) – Amro

 Смежные вопросы

  • Нет связанных вопросов^_^