Adding cell array entries

Suppose you have a 162*24 cell array called CC and each cell array entry consist of a matrix.
How would you add CC{1,1}+CC{2,1}+CC {3,1}.....CC{162,1}
and then to the same for the remaining 23 columns.
I dont need the sum but all matrices within each cell entry have to be added.
Thanks

 采纳的回答

nd = ndims(CC{1,1});
sol = sum(cat(ndims+1, CC{:,1}),ndims+1);
There are also approaches using the more obscure fold() operation.

4 个评论

Thanks but I dont need the sum. All I need is that the matrices in each cell entry to be added. All matrices have the same dimensions.
This answer does what you asked for.
I get an error Not enough input arguments and and also an unspecific error in the second line. Maybe the nd variable is missing in the second line?
nd = ndims(CC{1,1});
sol = sum(cat(nd+1, CC{:,1}),nd+1);

请先登录,再进行评论。

更多回答(1 个)

for i=1:24
sol=sum((CC(:,i)))
end

1 个评论

No, not for a cell array. sum() does not apply to cell arrays.
Also, you are overwriting all of sol each iteration.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Operators and Elementary Operations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by