MATLAB:保存类属性

标签 matlab

我想将一个特定的类属性保存到磁盘,同时忽略其余的类属性。我认为 MATLAB 允许为此目的覆盖 saveobj 方法。但是,这会保存仅附加该属性的类对象。我想保存属性本身,不包含任何类信息。

我可能认为合适的方法应该是这样的:

classdef myClass
    properties
        myProp
    end

    methods
        def b = saveobj(a)
            b = a.myProp;
        end

        def Save(a,fname)
            save(fname,'a.myProp');
        end
    end
end

但是这些都没有达到预期的效果。有谁能帮帮我吗?

最佳答案

您可以重载 save无需通过 saveobj 即可自行运行:

classdef myClass
    properties
        myProp
    end

    methods
        function [] =  save(a,fname,varargin)
            myProp = a.myProp; %#ok<PROP,NASGU>
            save(fname,'myProp',varargin{:});
        end
    end
end 

然后在命令窗口:

>> foo = myClass();
>> foo.myProp = 4;
>> foo.save('var.txt');
>> bar = load('var.txt','-mat');
>> bar.myProp
ans =
     4

关于MATLAB:保存类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639202/

相关文章:

MATLAB - 如何消除图像上的阴影背景

windows - Matlab加载函数超时

matlab - MATLAB 中的映射有多少字节?

matlab - 如何在 MATLAB 中生成矩阵,其中值随着坐标的增加而减小

arrays - Matlab - 访问多维数组的一部分

r - 逆矩阵中的误差

matlab - 卡尔曼滤波器和突然测量跳跃

matlab - 在 Octave 上使用 libsvm (Windows)

matlab - 在Matlab中将文本文件读取到矩阵,行长度未知

Matlab bsxfun() 代码