私は同じ自己定義クラスのオブジェクトがたくさんあるMatlabスクリプトを書いています。例えば、A
、B
、C
です。次に、私はfunc(A,B)
のような2つのオブジェクトのいずれかで動作する関数を持っています。Matlabのオブジェクトへのポインタの配列を作成するには?
ここでは、他のすべてのオブジェクトを通じてA
、次にfunc(A,x)
などのオブジェクトを選択します。したがって、基本的には次のようにしてください:
func(A,B)
func(A,C)
A.update()
func(B,A)
func(B,C)
B.update()
...
私はループすることができるすべてのオブジェクトの配列を作成する必要があります。私は、セル配列でそれを実行しようとしましたので、私は持っている:
AllObjs = {A,B,C}
for i=1:length(AllObjs)
if ~isequal(A, AllObjs{i})
func(A, AllObjs{i})
end
end
A.update()
しかし、A
が更新されたとき、AllObjs
でA
が更新を取得していません。ですから、次のループでは、すべてのオブジェクトの新しい配列を作成する必要があります。この単純な例では実行可能ですが、オブジェクトが別の場所で更新された場合は管理できません。だから私はすべてのオブジェクトへのポインタの配列を持っていると思います。私のGoogle検索ではMatlabにポインタがないと言われますが、ここで何をしたいのかを達成する方法がありますか?
を何私のクラスは 'handle'がありません。それは何のことについてのドキュメントがありますか? – LWZ
matlab docsにはたくさんあり、https://stackoverflow.com/q/6436539/4196396を参照してください。 – matlabgui