# Binning for a histogram.

4 views (last 30 days)
I am unable to find an effecive method to bin the following data.
11.8652 3.5891
12.5513 6.6741
11.8652 3.5891
8.8125 1.1711
8.8125 2.3422
8.8125 1.1711
5.7598 0.3324
5.0737 0.9444
5.7598 0.3324
12.5513 6.6741
14.1000 19.0596
12.5513 6.6741
8.8125 2.3422
0.0000 0.0000
8.8125 2.3422
5.0737 0.9444
3.5250 7.2712
5.0737 0.9444
11.8652 3.5891
12.5513 6.6741
11.8652 3.5891
8.8125 1.1711
8.8125 2.3422
8.8125 1.1711
5.7598 0.3324
5.0737 0.9444
5.7598 0.3324
For example I am trying to
Energy = Sum
14.1000 = 19.0596
12.5513 = 6.6741 + 6.6741 + 6.6741 + 6.6741
11.8652 = 3.5891 + 3.5891 + 3.5891 + 3.5891
8.8125 = 1.1711 + 1.1711 + 1.1711 + 1.1711 + 2.3422 + 2.3422 + 2.3422 + 2.3422
so on and so forth
I would like to then plot(Energy,Sum) while not repeating the Energy. I cannot find away to do this. I appreciate the help.
Doug Hull on 2 Dec 2011
huh? It is not clear what you are doing.

Walter Roberson on 2 Dec 2011
[uvals, a, uidx] = unique(YourData(:,1));
Sum = accumarray(uidx, YourData(:,2));
plot(uvals, Sum)
Very nice...it works great!

Hin Kwan Wong on 2 Dec 2011
Make an array with A=[energy sum] Then use:
A=sortrows(A);
hist(A(:,2),A(:,1))

### Categories

Find more on Histograms in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by