3

假设我有一个带有方法 SetProperty 的句柄类的 1x2 对象数组。我可以使用 arrayfun 为每个类调用 SetProperty 方法,以及一个用于设置属性值的向量吗?

4

2 回答 2

3

您还可以设计该类,以便对对的调用SetProperty进行矢量化:

 class Foo < handle
      methods(Access=public)
            function SetProperty(this,val)
                 assert(numel(this)==numel(val));
                 for i=1:numel(this)
                      this(i).prop = val(i);
                 end
            end
      end
end

然后,您可以创建一个向量并直接调用它的方法:

    f = repmat(Foo(),[1 2]);
    f.SetProperty( [5 3]);
于 2012-05-10T06:53:10.053 回答
1

是的你可以:

arrayfun(@(x,y)x.SetProperty(y), yourHandleObjects, theValues)
于 2012-05-09T23:22:23.667 回答