Matlab 计算嵌套单元格的平均值

Matlab 计算嵌套单元格的平均值,matlab,loops,cell-array,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

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

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

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

遵循阿德里安的建议,但是:

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

为什么有细胞而没有矩阵?3D矩阵将是你在这里的朋友。@Adrian。。目前我正在将结果存储在
数据中
。有更好的方法吗?添加您的答案:-)是的,将它们存储在3D矩阵中。我无法添加答案,因为我不知道您是如何创建数据的。@RCETANO您将一个1x4单元格编辑成了一个4x1单元格。那不一样。请不要编辑破坏原始目的的代码。我没有注意到@Adriaan:/谢谢提示:)