How to sum all instances of a value across a variable?

1 回表示 (過去 30 日間)
Louisa Thomas
Louisa Thomas 2018 年 1 月 15 日
コメント済み: Louisa Thomas 2018 年 1 月 15 日
My variable follows this format
a = [1 2 2 1]
etc.
So all of the values are either 1, or 2.
How do I sum all of the instances of the number 1 across this variable?
  1 件のコメント
Jan
Jan 2018 年 1 月 15 日
Is this a homework question? If so, what have you tried so far? Do you want to solve it with a loop or with the efficient builtin method unique and histcounts?
As usual I could offer a method based on RunLength. After I have suggested it a hundred of times in the forum already, I think about changing my nick name to "JanLength".

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

採用された回答

Jan
Jan 2018 年 1 月 15 日
編集済み: Jan 2018 年 1 月 15 日
a = [1 2 2 1]
k = 1;
sumOf1 = sum(a(a == k))
or
sumOf1 = k * sum(a == k)
But maybe you want to get the result for all elements of a? Then please explain this. unique and histcounts will be useful.
  1 件のコメント
Louisa Thomas
Louisa Thomas 2018 年 1 月 15 日
The first part was great thank you. It worked perfectly! It's part of a data extraction script, so I just worked with that format, and it worked :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by