2016-08-13 158 views
1

我有一个单元阵列C,每个元素是一个N1xN2xN3矩阵。 我需要总结在这些细胞中的所有记者的元素,并导致N1xN2xN3矩阵资源,其元素等于如何总结单元阵列的每个元素的相应元素

res=zeros(size(C{1})); 
for i=1:n_cell 
    res=res.+C{i} 
end 

有没有更有效的方法来做到这一点(不考虑循环?)? 谢谢!

回答

2

您可以连接沿第4维的矩阵,然后进行求和。

res = sum(cat(4, C{:}), 4); 

这里是为C

res = sum(cat(ndims(C{1}) + 1, C{:}), ndims(C{1}) + 1); 

元素的任何尺寸的通用解决方案。如果你使用八度,你可以简单地使用plus

res = plus(C{:}); 

不幸的是这最后的选择赢得不适用于MATLAB,因为MATLAB中的plus只接受两个输入参数。

+0

太棒了!非常感谢你! –