MATLAB: How to add the contents of all cells in a row of a cell array together

cell arraysum

Hi,
I've created a cell array that has 1 row. In each element of the cell array is a 3D matrix. I want to add all the matrices in the row of the cell array together. How do I do that?

Best Answer

The plus function only takes two arguments, so using it with arrayfun failed. A loop is apparently the only option, producing the summed matrix ā€˜Sā€™:
C = {randi(9, 3, 3, 3), randi(9, 3, 3, 3), randi(9, 3, 3, 3), randi(9, 3, 3, 3)};
S = 0;
for k1 = 1:size(C,2)
S = S + C{k1};
end
This of course assumes all the matrices are the same size, as they are here.