找回密码
 注册
关于网站域名变更的通知
查看: 382|回复: 2
打印 上一主题 下一主题

请教,我的matlab类操作为何不能保存结果?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-12-22 13:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我用的是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

该用户从未签到

2#
发表于 2021-12-22 14:56 | 只看该作者
类定义改为:  k& ]( O2 Q, O4 L* D8 y4 x! _

$ {, l0 p1 L7 ?4 Q2 `2 b# Mclassdef myClass  < handle
  J% _' N" T% p8 n. ?     properties# T9 s/ b3 P$ |+ O- j
         x;! b) e7 R5 z5 x
         y;4 r8 z% Z5 L* x: t+ ~
         s;
1 T, V% e8 G9 v) N, m3 P     end# ]4 f2 a7 P3 R  f  S3 F
     methods
4 E/ Y. B) ^4 F( ?6 u7 Q6 d4 Y! m         function obj=myClass(a,b)
/ v) m7 z) q6 f/ Q% a1 B) ]             obj.x=a;% o5 W* ?  ]& H! ]+ o! o
             obj.y=b;
$ N! [) i% m5 O' [9 U' W/ c         end
) h9 J" R9 m# U0 j( E- n$ J         function myAdd(obj)8 D. B& E/ f4 g1 d! `& a
             obj.s=obj.x+obj.y0 {9 ]$ C/ S8 }) a; X' B: o
         end9 F. J) U( J3 h3 ]4 {: T+ Q6 l' f
     end, x8 c* N- M- Z8 ?7 y" s
end

该用户从未签到

3#
发表于 2021-12-22 15:44 | 只看该作者
编程不是matlab 的强项, 多数人是用matlab 的功能,  如果是冲着解决问题去  你直接弄个  global 解决,  如果是冲着学习面向对象编程  c++  还好用些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:07 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表