【问题标题】:Why does MATLAB save() call saveobj() twice?为什么 MATLAB save() 调用 saveobj() 两次?
【发布时间】:2011-10-04 09:13:06
【问题描述】:

我定义了一个 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.

为什么要调用两次?我发现thisthis 人们有同样的问题,但没有答案:-(。我使用的是 Matlab 7.11.0 (R2010b)。

更新:我已经向 Mathworks 提交了支持请求...在下面找到他们的答案 :-)。

【问题讨论】:

    标签: matlab save


    【解决方案1】:

    根据 MathWorks 技术支持:

    我们当前的保存(HDF5 之前)MAT 实现需要我们计算 实际保存数据之前磁盘上数据的大小,这 导致我们经历两次保存过程。这不会发生 HDF5 格式。所以save('delme1.mat','j','-v7.3')会 只显示一次消息。

    我已将我的首选项(文件/首选项/常规/MAT-Files)更改为“MATLAB 版本 7.3 或更高版本”,所以现在 save('keepme.mat','j') 适合我 :-)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2021-07-13
      • 2021-11-25
      • 2012-12-12
      • 2015-12-24
      相关资源
      最近更新 更多