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

3 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Data Type Identification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by