将大规模矩阵保存到mat文件的问题

时间:2011-09-09 15:29:26

标签: matlab

我试图将矩阵保存到mat文件中,但Matlab会返回以下消息:

  

警告:变量'listmatrix'无法保存到版本低于7.3的MAT文件中。   要保存此变量,请使用-v7.3开关。   跳过...

“使用-v7.3开关”是什么意思?

我应该使用

save testresult.mat -v7.3 listmatrix

或者其他?

2 个答案:

答案 0 :(得分:4)

嗨我想我会回复这个帖子,因为我一直想弄清楚如何在matlab v7(v7.1.0.183)(R14)中保存一个大的(> 2 GB).mat文件,终于找到了解决方案。

如果您尝试使用save命令,则会收到以下错误:

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

警告:变量'data'无法保存到MAT文件中,因为它   存储要求超过2 ^ 31个字节。这个限制将是   在未来的版本中解决。考虑将此变量存储在HDF5中   文件格式(见HDF5WRITE)。跳过...

解决方案是改为编写HDF5文件:

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

然后您可以使用以下方法将数据读回matlab:

hdf5read('test.hdf5', '/dataset1');

答案 1 :(得分:2)

快速谷歌搜索说是的。尝试

save -v7.3 testresult.mat listmatrix

你的对象有多大? (做whos listmatrix) 您可以使用不同的数据类型(如uint8。

)来节省内存