类没有属性
如果 MATLAB® 类具有方法 mymethod
,且该方法返回具有属性 myprop
的句柄类,则不能为以下类型的赋值生成代码:
obj.mymethod().myprop=...
例如,假设有以下类:
classdef MyClass < handle properties myprop end methods function this = MyClass this.myprop = MyClass2; end function y = mymethod(this) y = this.myprop; end end end
classdef MyClass2 < handle properties aa end end
您不能为 foo
函数生成代码。
function foo
h = MyClass;
h.mymethod().aa = 12;
h.mymethod()
返回类型为 MyClass2
的句柄对象。在 MATLAB 中,赋值 h.mymethod().aa = 12;
会更改该对象的属性。代码生成不支持此赋值。解决方法
重写代码以返回该对象,然后为该对象的一个属性赋值。
function foo
h = MyClass;
b=h.mymethod();
b.aa=12;