How to sum same size cell blocks?

3 次查看(过去 30 天)
Hi all,
I have a cell which contains same size matrices, like this:
inpt =
[13x13 double] [13x13 double] [13x13 double] [13x13 double]
Is there a function to sum blocks within a cell? So the result would be a [13*13] matrix with elements of same entry summations of inpt.
Many thanks!

采纳的回答

Guillaume
Guillaume 2016-12-21
sum(cat(3, inpt{:}), 3)
is one way to do it. Basically, concatenate your matrices along an extra dimension and sum along that dimension.

更多回答(1 个)

John BG
John BG 2016-12-22
Hi Xiaohan
first get the size of inpt
[sz1 sz2]=size(inpt)
and sum the cell2mat version of inpt
sum(reshape(cell2mat(inpt),13,13,sz2),3)
if you find my answer useful would you please mark it as Accepted Answer?
thanks in advance for time and attention
John BG

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by