- 主题:请教,我的类操作为何不能保存结果?(matlab)
我用的是matlab R2020a。
我新建一个类,有成员x、y和ss。
类构造函数对x和y赋值。
类方法 myAdd将x和y相加,结果存入ss。
调试时,位于类方法函数时,能看到ss为正确值,但回到主程序后,对象a的成员ss就成了空数组。
请教,如何才能将类方法的结果存入到类成员变量中?谢谢!
% -----------主函数--------------
a=myClass(1,2)
a.myAdd
a.ss
%------------类定义-------------
classdef myClass
properties
x;
y;
ss;
end
methods
function obj=myClass(a,b)
obj.x=a;
obj.y=b;
end
function myAdd(obj)
obj.ss=obj.x+obj.y
end
end
end
--
FROM 123.123.103.*
我试了一下,的确可以保存计算结果了。谢谢!
但你这是在计算过程中新建了一个对象b,用于保存结果,而不是将结果存入到原有对象a中。
我想要的是,对象a中有多个成员属性,用于保存不同的中间结果。
若要新建对象,那就有些麻烦了。
【 在 zszqzzzf 的大作中提到: 】
: b=a.myAdd
: b.ss
: function obj=myAdd(obj)
: ...................
--
FROM 117.136.38.*
后来请教了别人,改为如下代码就可以了
classdef myClass < handle
properties
x;
y;
s;
end
methods
function obj=myClass(a,b)
obj.x=a;
obj.y=b;
end
function myAdd(obj)
obj.s=obj.x+obj.y
end
end
end
谢谢各位!
【 在 zszqzzzf 的大作中提到: 】
: 这个地方是引用吧?
:
--
FROM 117.136.38.*