0
用せずに構造体のフィールドから意味:発見は、私はこのような構造の実験からのデータを持っているループ
data.subject.trial
私が何であるかなど(すべての参加者間での試行で得点するための手段を見つける必要がありますトライアルxの全参加者の平均スコア?)。
私は以下のようにforループを使用することができますが、同じ事を達成するためのより簡単なライナーが必要なように感じます(この例では、 "trial"の値は数値です)。任意のヒント?どうもありがとう!
for i = 1:length(data.subject)
for j = 1:length(data.subject(i).trial)
a(i,j) = data.subject(i).trial(j);
end
end
trialMeans = mean(a);
[ドキュメント](http://www.mathworks.com/help/matlab/matlab_prog/access-data-in-a-structure-array.html): "注:インデックスの一部にMATLAB®は、 'S(1:2).X(1:50,1:80)'のようなステートメントをサポートしていません。構造の複数の要素。 – excaza
あなたは基本的にすべての被験者のすべての試行の平均をやっているので、 'cell2mat(struct2cell(data.subject))'を使ってから、歩道の列を取り出して平均を走らせるべきですか? – GameOfThrows
@GameOfThrowsこれはありがたいですが、データではうまくいきません。別のデータ型のサブフィールドがあるので、エラーが発生します。私が似ている最良の解決策は 'A = cell2mat({data.subject.trial})です。 %すべての試行のすべての得点を1つのベクトルにする B = reshape(A、[]、length(data.subject)) ';しかし、多くの被験者の行に変更してください。 – monkeytennis