MATLAB警告:变量'vol'无法保存到版本早于7.3的MAT文件中。

5

我有一个 800x6 的单元数组 vol,其中第1到第5列是double类型,第6列是一个 200x200x200 的3D double矩阵。我试图将它保存到一个变量中,更具体地说是一个.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... 

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

P.S.:我不太愿意将这个单元数组保存为文本文件,因为这样做有点“破坏”结构。


1
我找到了一些与此相关的有趣资料这里。显然,这是由于单元数组的大小超过了2GB。 - MeMyselfAndI
请查看此链接:MATLAB:.mat 版本之间的差异 - Amro
1个回答

2

我猜这是由你使用的数据类型所引起的。只需尝试错误消息建议的操作:

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

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

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

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

这个也应该可以工作(在我类似的情况下确实如此)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接