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

3 visualizaciones (últimos 30 días)
Louisa Thomas
Louisa Thomas el 15 de En. de 2018
Comentada: Louisa Thomas el 15 de En. de 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 comentario
Jan
Jan el 15 de En. de 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".

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 15 de En. de 2018
Editada: Jan el 15 de En. de 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 comentario
Louisa Thomas
Louisa Thomas el 15 de En. de 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 :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Identification en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by