无法在 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 [关闭]

在 Matlab 中保存一个大单元矩阵(字符串变量)非常慢且大小很大

在 Matlab 中将 4D 矩阵保存到具有高精度 (%1.40f) 的文件中

在 MATLAB 中将数据保存到 .mat 文件

matlab 多个矩阵保存问题

在 MatLab 中保存矩阵