EDA365电子论坛网
标题:
请教,我的matlab类操作为何不能保存结果?
[打印本页]
作者:
Housekk
时间:
2021-12-22 13:48
标题:
请教,我的matlab类操作为何不能保存结果?
我用的是matlab R2020a。 我新建一个类,有成员x、y和s。 类构造函数对x和y赋值。 类方法 myAdd将x和y相加,结果存入s。 调试时,位于类方法函数时,能看到s为正确值,但回到主程序后,对象a的成员s就成了空数组。 请教,如何才能将类方法的结果存入到类成员变量中?谢谢! % -----------主函数-------------- a=myClass(1,2) a.myAdd a.s %------------类定义------------- classdef myClass 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
作者:
ninik342
时间:
2021-12-22 14:56
类定义改为:
) E! w: Y$ u5 L$ {. E* z! U
2 N3 }2 W, V" L( g* s- p
classdef myClass < handle
* v+ { S; F: t) e9 L
properties
3 A, X, h' k. r. e* Q: r
x;
6 e) ]: \7 N# |* h
y;
3 n, y; A. V: J$ w6 l- w# D
s;
5 K! m2 H& N. b% x; T2 a
end
x8 p# d1 n: V
methods
: y: C" R5 ]% C. N
function obj=myClass(a,b)
* \& p/ ~6 z- B2 n, D# ?
obj.x=a;
% @0 s- u m4 c- y+ ?3 d, m
obj.y=b;
0 @. D3 ^* }5 [' C N
end
% q( I, _) `; F) }" J( d% }
function myAdd(obj)
5 }7 w. w3 [( |# O. _
obj.s=obj.x+obj.y
& i% A, c9 r# y+ x m4 }! ?9 H% u
end
4 X' @( m- ^3 r* ]
end
2 V3 I9 F' _# t# k2 b6 t; \" D X
end
作者:
unix16785
时间:
2021-12-22 15:44
编程不是matlab 的强项, 多数人是用matlab 的功能, 如果是冲着解决问题去 你直接弄个 global 解决, 如果是冲着学习面向对象编程 c++ 还好用些。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2