4

我有一个800x6单元格数组vol,其第 1 到第 5 列是双精度,第 6 列是200x200x2003D 双精度矩阵。我正在尝试将其保存到一个变量,更具体地说是一个 .mat 文件。

>> save('./vol.mat', 'vol');
Warning: Variable 'vol' cannot be saved to a MAT-file whose version is older than 7.3.
To save this variable, use the -v7.3 switch.
Skipping... 

为什么会这样?我应该如何解决它?

PS:我不太愿意将此元胞数组保存为文本文件,因为这样做会“破坏”结构。

4

1 回答 1

2

我想这归因于您使用的数据类型。只需尝试错误消息的建议:

save('./vol.mat', 'vol', '-v7.3')

.mat 文件格式的 7.3 版实际上比默认版本 ('-v6') 更新。它的缺点是它缺乏与非常旧的 matlab 版本的向后兼容性,据说只能在 64 位系统上使用,据说是 solw。除此之外,我认为没有理由不使用'-v7.3'.

顺便说一句,我认为你可以去掉'./'and .mat,因为这些是默认值,所以

save('vol', 'vol', '-v7.3')

也应该有效(在类似的情况下对我来说也是如此)。

于 2014-10-29T11:34:45.323 回答