Binning for a histogram.
3 views (last 30 days)
Show older comments
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.
Accepted Answer
Walter Roberson
on 2 Dec 2011
[uvals, a, uidx] = unique(YourData(:,1));
Sum = accumarray(uidx, YourData(:,2));
plot(uvals, Sum)
More Answers (1)
Hin Kwan Wong
on 2 Dec 2011
Make an array with A=[energy sum] Then use:
A=sortrows(A);
hist(A(:,2),A(:,1))
0 Comments
See Also
Categories
Find more on Data Preprocessing 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!