Если MATLAB® класс имеет метод, mymethod
, который возвращает класс handle со свойством, 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;