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

我不太确定我是否了解您所做或想要做的所有事情,但显然如果您有两个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

希望有帮助。

于 2013-03-11T23:28:54.403 回答
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
于 2013-03-11T23:29:55.360 回答