Borrar filtros
Borrar filtros

Is there a way to count the integers in a matrix that fall within a certain range?

5 visualizaciones (últimos 30 días)
I am working on a problem that gives me a 3x10 matrix with numbers ranging from 1 to 100. I want to count the number of integers that fall within a ceratin catagory such as 0 to 19, 20 to 39, 40 to 59, etc. Is there a way for me to find the sum of integers within these specific ranges? I'm still very new to MatLab. Thank you.
  1 comentario
Voss
Voss el 9 de Feb. de 2022
Editada: Voss el 9 de Feb. de 2022
Questions: Might your matrix have some non-integer elements? Or is it always all integers? And if it does have non-integers, is it correct that you don't want to include those non-integers in the sums?

Iniciar sesión para comentar.

Respuestas (2)

Chunru
Chunru el 9 de Feb. de 2022
a = randi(100, [3 10]);
idx = a>=20 & a<=29;
x = sum(a(idx))
x = 20
  2 comentarios
Eileen
Eileen el 9 de Feb. de 2022
using x = sum(a(idx)) gave me some pretty large numbers for some reason so I ended up just using sum(sum(idx))
Chunru
Chunru el 9 de Feb. de 2022
You are right. sum(idx(:)) will do the counting while the code above sum all the numbers in the range.

Iniciar sesión para comentar.


Matt J
Matt J el 9 de Feb. de 2022
Yes, you can use histcounts.
counts=histcounts(yourMatrix(:),[0,20,40,60])

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by