Summation of values > 1 in a cell array

1 view (last 30 days)
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.

Accepted Answer

Ilham Hardy
Ilham Hardy on 12 Apr 2013
sumVal = sum(cnt{1})-length(find(cnt{1}==1))
  3 Comments
Ilham Hardy
Ilham Hardy on 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 on 12 Apr 2013
The 2nd method would be needed if the threshold were something other than 1.

Sign in to comment.

More Answers (1)

Matt J
Matt J on 12 Apr 2013
Edited: Matt J on 12 Apr 2013
ind=(cnt{1}>1);
sum(cnt{1}(ind)),

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!