【发布时间】:2010-09-21 07:39:20
【问题描述】:
我创建了一个 MATLAB 类,类似于:
classdef myclass
properties
x_array = [];
end
methods
function increment(obj,value)
obj.x_array = [obj.x_array ; value);
end
end
end
问题是,当我调用 increment() 函数时,属性 x_array 永远不会被修改:
例如:
>>s = myclass
>>increment(s,5)
>>s.x_array
ans = []
我做了一些研究,得出一个结论,这是因为 MATLAB 对对象使用了延迟复制,让我的类继承 HANDLE 类应该可以解决这个问题,但是没有,有人知道为什么会这样?如果扩展句柄类是独立的解决方案,这不是正确的方法吗:
classdef myclass < handle
还是有什么额外的步骤?
【问题讨论】:
标签: matlab properties matlab-class