メソッド SetProperty を持つハンドル クラスの 1x2 オブジェクト配列があるとします。arrayfun を使用して、各クラスの SetProperty メソッドを呼び出し、プロパティ値の設定に使用するベクトルを使用できますか?
質問する
489 次
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 に答える