Matlab 保存忽略大型单元阵列

Matlab save ignoring large cell arrays

我正在尝试保存一个元胞数组,其中每个元素在单独保存时大约为 500mb(可以正常工作)。整个元胞数组大约有 10 个这样的元素。

使用保存命令时,元胞数组根本没有保存,即使我明确尝试通过变量名保存元胞数组也是如此。不会出现错误消息。生成的 .mat 文件根本不包含变量(或者在显式保存的情况下不包含任何内容)。

有足够的磁盘 space 可用。任何人都知道发生了什么事?

编辑: 我通过以下方式使用保存命令:

save(filename)

save(filename, cellarrayname)

Matlab 的默认行为是以v7 格式保存,这是受文件大小限制的。为了克服这个问题,您应该将默认行为更改为 v7.3,它使用 hdf5 文件格式并且可以处理更大的文件。

要更改默认设置,请转至 文件 菜单 -> 首选项 -> 常规 -> MAT 文件:


(来源:undocumentedmatlab.com

正如 more information can be found in this link 所指出的与 v7.3 文件格式设置相关的性能问题。