Summation of values > 1 in a cell array

1 Ansicht (letzte 30 Tage)
RDG
RDG am 12 Apr. 2013
Suppose I've a cell array;
cnt{1}=[3;1;3;2;1;2]
I would like to sum up the values which are > 1 ie the answer should return 10 (3+3+2+2)
I've tried using 'find' but the answer only returns the indices of the values > 1 and not the values.
ind=(find(cnt{1}>1))
How can I go about this? Please give me some hint.

Akzeptierte Antwort

Ilham Hardy
Ilham Hardy am 12 Apr. 2013
sumVal = sum(cnt{1})-length(find(cnt{1}==1))
  3 Kommentare
Ilham Hardy
Ilham Hardy am 12 Apr. 2013
Yes, i agree. This way will be faster.
However i don't fully get the differences between example#1 and example#2. Care to explain?
Matt J
Matt J am 12 Apr. 2013
The 2nd method would be needed if the threshold were something other than 1.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 12 Apr. 2013
Bearbeitet: Matt J am 12 Apr. 2013
ind=(cnt{1}>1);
sum(cnt{1}(ind)),

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by