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

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Jan
Jan il 15 Gen 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".

Accedi per commentare.

Risposta accettata

Jan
Jan il 15 Gen 2018
Modificato: Jan il 15 Gen 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 Commento
Louisa Thomas
Louisa Thomas il 15 Gen 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 :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by