Summation of values > 1 in a cell array

3 ビュー (過去 30 日間)
RDG
RDG 2013 年 4 月 12 日
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.

採用された回答

Ilham Hardy
Ilham Hardy 2013 年 4 月 12 日
sumVal = sum(cnt{1})-length(find(cnt{1}==1))
  3 件のコメント
Ilham Hardy
Ilham Hardy 2013 年 4 月 12 日
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 2013 年 4 月 12 日
The 2nd method would be needed if the threshold were something other than 1.

サインインしてコメントする。

その他の回答 (1 件)

Matt J
Matt J 2013 年 4 月 12 日
編集済み: Matt J 2013 年 4 月 12 日
ind=(cnt{1}>1);
sum(cnt{1}(ind)),

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by