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

1 vue (au cours des 30 derniers jours)
Louisa Thomas
Louisa Thomas le 15 Jan 2018
Commenté : Louisa Thomas le 15 Jan 2018
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 commentaire
Jan
Jan le 15 Jan 2018
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".

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 15 Jan 2018
Modifié(e) : Jan le 15 Jan 2018
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 commentaire
Louisa Thomas
Louisa Thomas le 15 Jan 2018
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 :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Identification dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by