我定义了一个MATLAB对象class_save_test:
classdef class_save_test
methods
function b=saveobj(a)
fprintf('saveobj called.\n');
b=a;
end
end
end
Run Code Online (Sandbox Code Playgroud)
当我尝试保存它时:
j=class_save_test
save('delme1.mat','j')
Run Code Online (Sandbox Code Playgroud)
我得到了输出
saveobj called.
saveobj called.
Run Code Online (Sandbox Code Playgroud)
为什么叫两次?我发现这和这个地方的人有同样的问题,但没有答案:-(.我用Matlab 7.11.0(R2010b中).
更新:我已向Mathworks提交了支持请求...请在下面找到答案:-).
根据MathWorks技术支持:
我们当前的保存(pre-HDF5)MAT实现要求我们在实际保存数据之前计算磁盘上数据的大小,这导致我们两次完成保存过程.HDF5格式不会发生这种情况.这样做
save('delme1.mat','j','-v7.3')只会显示一次消息.
我已将我的首选项(文件/首选项/常规/ MAT文件)更改为"MATLAB 7.3或更高版本",因此现在save('keepme.mat','j')适用于我:-).
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |