Summation of values > 1 in a cell array

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.

 采纳的回答

sumVal = sum(cnt{1})-length(find(cnt{1}==1))

3 个评论

Even if you wanted to do it this way, FIND is unnecessary
sumVal = sum(cnt{1})-sum(cnt{1}==1),
or
sumVal = sum(cnt{1})-sum(cnt{1}(cnt{1}<=1)),
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?
The 2nd method would be needed if the threshold were something other than 1.

请先登录,再进行评论。

更多回答(1 个)

类别

Community Treasure Hunt

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

Start Hunting!

Translated by