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

5 次查看(过去 30 天)
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 个评论
Voss
Voss 2022-2-9
编辑:Voss 2022-2-9
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?

请先登录,再进行评论。

回答(2 个)

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

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by