查找意味着来自结构中的字段而不是for循环

时间:2016-07-19 13:21:00

标签: matlab loops structure mean

我在这样的结构中有来自实验的数据:

data.subject.trial

我需要找到所有参与者的试验分数的方法(例如,试验x的所有参与者的平均分数是多少?)。

我可以使用如下所示的for循环到达那里,但感觉应该有一个更简单的单行程来实现相同的事情(在这个例子中,“试验”中的值是数字)。有小费吗?非常感谢!

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);

1 个答案:

答案 0 :(得分:1)

我想我偶然发现了自己问题的答案......

A = cell2mat({data.subject.trial}); % Put all scores from all trials into 1 vector 
B = reshape(A,[],length(data.subject))'; % Reshape into rows of however many subjects there are
trialMeans = mean(B);

谢谢!