我定义了一个MATLAB对象class_save_test:
classdef class_save_test
methods
function b=saveobj(a)
fprintf('saveobj called.\n');
b=a;
end
end
end
当我尝试保存时:
j=class_save_test
save('delme1.mat','j')
我得到了输出
saveobj called.
saveobj called.
为什么要两次打电话?我发现this和this人们有同样的问题,但没有答案:-(。我正在使用Matlab 7.11.0(R2010b)。
更新:我已向Mathworks提交了支持请求...请在下面找到答案: - )。
答案 0 :(得分:8)
根据MathWorks技术支持:
我们当前的保存(pre-HDF5)MAT实现需要我们进行计算 实际保存数据之前磁盘上数据的大小和这个 让我们两次完成保存过程。这不会发生 采用HDF5格式。所以做
save('delme1.mat','j','-v7.3')
会 只显示一次消息。
我已将我的首选项(文件/首选项/常规/ MAT文件)更改为“MATLAB 7.3或更高版本”,所以现在save('keepme.mat','j')
适用于我: - )。