How to bin a simple number array?
显示 更早的评论
Hello,
I'm reading a simple number array from a .txt file (all integers) using:
fileID = fopen('control.txt','r');
formatSpec = '%d';
A = fscanf(fileID,formatSpec);
Now I want to bin these integers into a several groups:
Group 1: integers from 21 to 100;
Group 2: integers from 101 to 500;
Group 3: integers from 501 to 1000;
Group 4: integers from 1001 to infinity (max number unknown).
I'm also interested in finding the range (how many numbers) of each group.
Thank you!
采纳的回答
更多回答(1 个)
Steven Lord
2016-7-25
1 个投票
Use the histcounts function and specify a vector of edges.
4 个评论
That One
2016-7-25
Steven Lord
2016-7-26
Take a look at the documentation for histcounts for some examples.
Star Strider
2016-7-26
You have already come close to defining them:
Group 1: integers from 21 to 100;
Group 2: integers from 101 to 500;
Group 3: integers from 501 to 1000;
Group 4: integers from 1001 to infinity (max number unknown).
Use the max function to help you define the upper edge.
Experiment with to get the result you want.
Steven Lord
2016-7-26
Or just specify Inf as the right endpoint of the last bin.
类别
在 帮助中心 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!