Summing all the Matrices in a Cell Array?

5 visualizzazioni (ultimi 30 giorni)
Lets say i have a cell array with 3 7x2 matrices in it:
.
.
How do i sum them up so to get a single 7x2 matrix?
In this exmaple, i only have 3 matrices.
But i may have a cell array with maybe 100+ matrices.
How should i do it?
  1 Commento
Matt J
Matt J il 5 Nov 2014
Modificato: Matt J il 5 Nov 2014
You probably should not be in this situation to begin with. Whatever code you're using to create the cell array, should probably be organizing the data as a 7x2xP numeric array instead. Most operations on an MxNxP array will be more efficient than with the MxN slices split across P cells.
An exception to this is when M*N is large and you're trying to avoid the copies that MATLAB makes when you do things like
a=A(:,:,i)
but the slices would have to be very very large to warrant that.

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 5 Nov 2014
Modificato: Azzi Abdelmalek il 5 Nov 2014
a={rand(7,2) rand(7,2) rand(7,2)} % This is an example
b=sum(cat(3,a{:}),3)

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by