ドット表記を使用してメソッドを適用した後でオブジェクト プロパティを参照しようとすると、問題が発生します。初期オブジェクトにインデックスを付けようとしたときにのみ発生します
classdef myclassexample
properties
data
end
methods
function obj = procData(obj)
if numel(obj)>1
for i = 1:numel(obj)
obj(i) = obj(i).procData;
end
return
end
%do some processing
obj.data = abs(obj.data);
end
end
end
次に、以下を割り当てます
A = myclassexample;
A(1).data= - -1;
A(2).data = -2;
配列全体を呼び出してプロパティデータを収集すると、正常に動作します
[A.procData.data]
Aにインデックスを付けようとすると、スカラーのみが得られます
[A([1 2]).procData.data]
プロパティの呼び出しがなくてもうまくいくように見えますが
B = A([1 2]).procData;
[B.data]
何か案は?