计算嵌套单元格的平均值

时间:2016-09-29 14:23:23

标签: matlab loops cell-array

假设我们有这个单元格数组:

data = {{[1,2,3],[3,6,3]},{[6,8,2],[1,1,1]},{[4,8,3],[1,2,3]},{[5,1,3],[1,0,2]}};
我们有四个主要细胞,在每个细胞中我们有两个细胞。我希望像这样的四个主要单元之间的平均值:

Average 1 between:
1   2   3
6   8   2
4   8   3
5   1   3
---------
4   4.75   2.75

Average 2 between:
3   6   3
1   1   1
1   2   3
1   0   2
---------
1.5  2.25  2.25

最后,我们应该在单元格数组中收集这两个结果。使用最少的循环次数,最快的方法是什么?

1 个答案:

答案 0 :(得分:3)

按照Adriaan的建议,但是:

x = reshape([data{:}],2,[])';
means = reshape(mean(cell2mat(x)),[],2)'    
means =    
    4.0000    4.7500    2.7500
    1.5000    2.2500    2.2500