无法在 Matlab 中保存非常大的矩阵
Posted
技术标签:
【中文标题】无法在 Matlab 中保存非常大的矩阵【英文标题】:Cannot save really big matrix in Matlab 【发布时间】:2013-04-20 01:25:03 【问题描述】:我有一个大数组 (1024x1024x360),我想将它保存到 mat 文件中。当我只是尝试
A=rand(1024,1024,360)
save('filename.mat','A');
在工作区中创建了变量,正在创建文件,但它仍然是空的... 我在 Win7-64 机器上使用 Matlab 2012a,为什么会这样?
【问题讨论】:
【参考方案1】:早期版本的 Matlab 无法保存大于 2 GB 的变量。即使在较新版本的 Matlab 上,您的默认保存文件格式也可能设置为较旧的类型;我自己安装的 R2013a 似乎已经预设为 v7,这不会节省任何大的东西。您有两个选择:使用额外标志指定此文件的格式:
save('filename.mat','A','-v7.3');
或通过运行preferences
并查看General下的MAT-files区域来更改所有保存文件的默认值。
【讨论】:
+1 请注意,v7.3 与以前的版本不同,它基于 HDF5 格式:MATLAB: Differences between .mat versions以上是关于无法在 Matlab 中保存非常大的矩阵的主要内容,如果未能解决你的问题,请参考以下文章
在 Matlab 中保存一个大单元矩阵(字符串变量)非常慢且大小很大