Binning for a histogram.

2 次查看(过去 30 天)
Chad
Chad 2011-12-2
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.

采纳的回答

Walter Roberson
Walter Roberson 2011-12-2
[uvals, a, uidx] = unique(YourData(:,1));
Sum = accumarray(uidx, YourData(:,2));
plot(uvals, Sum)

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Data Preprocessing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by