我想将一个特定的类属性保存到磁盘,同时忽略其余的类属性。我认为 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/