我有几个主题的数据,每个主题都进行了几项活动试验。我已经将所有数据读入格式的结构中 主体(1).trial(1).something 主体(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
希望这很清楚。有什么想法吗?
答案 0 :(得分:0)
我不太确定我理解你做或想要做的一切,但很明显,如果你有两个for
循环,其中内部循环为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
希望有所帮助。
答案 1 :(得分:0)
如果我正确地读了你的问题,你需要将每个试验放在一行,所以当你创建一个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