проблемы сохранения крупномасштабной матрицы в файл mat - PullRequest
4 голосов
/ 09 сентября 2011

Я пытался сохранить матрицу в файле mat, но Matlab возвращает следующие сообщения:

Предупреждение: переменная listmatrix не может быть сохранена в MAT-файл, версия которого старше 7.3. Чтобы сохранить эту переменную, используйте ключ -v7.3. Пропуск ...

Что означает «использовать ключ -v7.3»?

Должен ли я использовать

save testresult.mat -v7.3 listmatrix

или еще что?

Ответы [ 2 ]

4 голосов
/ 08 октября 2012

Привет, я решил ответить на эту тему, так как пытался выяснить, как сохранить большой (> 2 ГБ) файл .mat в matlab v7 (v7.1.0.183) (R14) и, наконец,нашел решение.

Если вы попытаетесь использовать команду сохранения, вы получите следующую ошибку:

save('test.mat', 'data');

Предупреждение: переменная 'data' не может быть сохранена в MAT-файл, потому что его требования к хранилищу превышают 2 ^ 31 байт.Это ограничение будет устранено в будущем выпуске.Попробуйте сохранить эту переменную в формате файла HDF5 (см. HDF5WRITE).Пропуск ...

Решение состоит в том, чтобы вместо этого записать файл HDF5:

hdf5write('test.hdf5', '/dataset1', data);

Затем вы можете прочитать данные обратно в matlab, используя:

hdf5read('test.hdf5', '/dataset1');
2 голосов
/ 12 сентября 2011

Быстрый поиск в Google говорит да. Попробуйте

save -v7.3 testresult.mat listmatrix

Насколько велик ваш объект? (Do whos listmatrix) Вы можете потенциально сэкономить память, используя другой тип данных, такой как uint8.

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