Data binning and frequency of data

2 views (last 30 days)
I am having a data for example X [56 65 59 98 97 35 54 42].I want to find how many of these data points falls in a given bin range.I also have to generate bin ranges from the data X.
Bin Frequency
  • 50-55 ..... 0 % no data fall in this range
  • 55-60 ..... 3 % three points fall in this range
  • 60-65 ..... 1
  • 65-70 ..... 0.....Please help me how to do this in Matlab?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 18 Aug 2013
Edited: Azzi Abdelmalek on 18 Aug 2013
Edit
X= [56 65 59 98 97 35 54 42];
id=50:5:70
result=histc(X,id)
range=[id(1:end-1)' id(2:end)'];
out=[range result(1:end-1)']
  2 Comments
Suresh
Suresh on 18 Aug 2013
Thank you for your answer.How to create the range (id) directly from data without manually entering id ranges.like id=min(X):5:max(X).Will it work ?
Azzi Abdelmalek
Azzi Abdelmalek on 18 Aug 2013
X= [56 65 59 98 97 35 54 42];
a=ceil(X/5)*5
id=min(a):5:max(a)
result=histc(X,id)
range=[id(1:end-1)' id(2:end)'];
out=[range result(1:end-1)']

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 18 Aug 2013
The histc() function is made for this exact purpose.

Community Treasure Hunt

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

Start Hunting!