Azzera filtri
Azzera filtri

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

5 visualizzazioni (ultimi 30 giorni)
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 Commento
Voss
Voss il 9 Feb 2022
Modificato: Voss il 9 Feb 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?

Accedi per commentare.

Risposte (2)

Chunru
Chunru il 9 Feb 2022
a = randi(100, [3 10]);
idx = a>=20 & a<=29;
x = sum(a(idx))
x = 20
  2 Commenti
Eileen
Eileen il 9 Feb 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 il 9 Feb 2022
You are right. sum(idx(:)) will do the counting while the code above sum all the numbers in the range.

Accedi per commentare.


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

Categorie

Scopri di più su Resizing and Reshaping Matrices 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