1

私は、それぞれが活動のいくつかの試行を行ったいくつかの被験者に関するデータを持っています. すべてのデータを subject(1).trial(1).something subject(1).trial(2).somethingelse などの形式で構造体に読み込みました。

ここで、被験者が問題ではないかのように、各試行を大きな行列 [A] の行に読み込んで、各試行でいくつかの計算を実行する必要があります。だから私はこれから始めました:

for i = 2:numSubjects
    for j = 1:numTrials
    A(j,:) = cat(2,subject(i).trial(j).torque_integral,     subject(i).trial(j).work_integral); 
    end
end

ただし、これは最初の主題に対してのみ機能します。サブジェクト (i) が 3 に増えると、トライアル (j) は 1 に戻ります。したがって、アイデアは、出力 A が次のように並んでいるということです。

件名|トライアル|A

1 1 1

1 2 2

1 3 3

2 1 4

2 2 5

2 3 6

うまくいけば、これは明らかです。何かご意見は?

4

2 に答える 2

0

私があなたの質問を正しく読んだ場合、各トライアルを1行に配置する必要があるため、A変数を作成するときは、jをインデックスとして使用する代わりに、新しいインデックスを使用してください...笑誰かが私の前に同じことを投稿したようです...

m=1
for i = 2:numSubjects
    for j = 1:numTrials
       A(m,:) = cat(2,subject(i).trial(j).torque_integral,subject(i).trial(j).work_integral);
       m=m+1; 
    end
end
于 2013-03-11T23:29:55.360 に答える
0

私はあなたがすること、またはしたいことすべてを理解しているかどうかはよくわかりませんが、明らかにfor、内側のループが 1 で始まる 2 つのループがある場合、外側のインクリメントごとに 1 つのループで始まります...

どうですか:

k=0;
for i = 2:numSubjects
    for j = 1:numTrials
    k=k+1;
    A(k,:) = cat(2,subject(i).trial(j).torque_integral,     subject(i).trial(j).work_integral); 
    end
end

それが役立つことを願っています。

于 2013-03-11T23:28:54.403 に答える