Effacer les filtres
Effacer les filtres

Sum of Cell Array [Besides for loop]

1 vue (au cours des 30 derniers jours)
RDG
RDG le 15 Avr 2013
Commenté : Eduardo Gil le 2 Sep 2020
I'm having difficulty trying to solve this problem. Suppose:
testvalue = {[1] [] []
[1] [1] [1]
[1] [] []
[1] [1] []}
I want to sum the contents of each row, which should give:
1+nil+nil=1
1+1+1=3
1+nil+nil=1
1+1+nil=1
I tried using for loop but it upon adding cumulative sum with [], the new sum becomes []. Can someone shed some light? Thanks.

Réponse acceptée

Walter Roberson
Walter Roberson le 15 Avr 2013
T = testvalue;
T(cellfun(@isempty,T)) = {0};
sum( cell2mat(T), 2)
  2 commentaires
RDG
RDG le 15 Avr 2013
Elegant solution. Thank you!
Eduardo Gil
Eduardo Gil le 2 Sep 2020
Brilliant. However, could Matlab be any more cumbersome when it comes to the simple stuff. A spreadsheet would have done this without any need for logic. On the other hand, Matlab is so powerful for other less mundane tasks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by