いくつかのデータを入れ子構造に整理しました。これには、複数の被験者が含まれ、被験者ごとに 4 ~ 5 回の試行が行われ、身長、歩行サイクルにわたる関節トルクなどのデータが識別されます。たとえば、次のようになります。
subject(2).trial(4).torque
被験者 2 の 4 回目の試行の関節トルクの行列を示します。ここで、トルク行列の列は自由度 (腰、膝など) を表し、行は歩幅の 0 から 100% までの時間増分を表します。私がやりたいことは、自由度ごとに 5 回の試行の平均を取り、それを使用して (その自由度の) 被験者を表すことです。第 1 自由度に対して次のようにしようとすると、次のようになります。
for i = 2:24
numTrialsThisSubject = size(subject(i).trial, 2);
subject(i).torque = mean(subject(i).trial(1:numTrialsThisSubject).torque(:,1), 2);
end
次のエラーが表示されます。
??? Scalar index required for this type of multi-level indexing.
ネストされた for ループを使用して試行をループし、それらを一時行列に格納してから、一時列の平均を取得できることはわかっていますが、できれば一時行列用に別の変数を作成することは避けたいと思います。これは可能ですか?