2016-08-13 157 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

太棒了!非常感謝你! –