summing a column of a cell array

1 visualizzazione (ultimi 30 giorni)
Thomas Roza
Thomas Roza il 1 Dic 2019
Commentato: Thomas Roza il 2 Dic 2019
hi,
I have a 74x74 cell array and in each cell i have stored a vector it looks like this:
cell array.JPG
i would like to sum all the vectors in colomn 1 to 74 so a new vector is created, and stored in a 1x74 cell array, i haven't succeded so i hope you could help me, thank you!

Risposta accettata

Walter Roberson
Walter Roberson il 1 Dic 2019
mat2cell(sum(cell2mat(fm)),1,cellfun(@(V) size(V,2), fm(:,1)))
Assumptions:
  • each cell contains a row vector
  • the cell can be converted to a matrix. (For example would fail for function handles)
  • the elements are a datatype for which sum() is defined
  • the size of each row vector is consistent for the column.
Not Assummed:
  • that the elements are numeric
  • that the length of the row vectors is exactly 3
  • that the length of the row vectors are all the same across the columns. For example if column 2 had row vectors of length 4, then this code would be happy to give you a result in which the second entry had length 4.

Più risposte (0)

Categorie

Scopri di più su Data Types 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