Binning x and y
6 次查看(过去 30 天)
显示 更早的评论
Hi all,
Assuming that I have the follwing data:
x=[0, 2, 2.4, 2.8, 3.4, 3.9, 4, 4,7, 5.3, 5.8, 6, 6.4......]; % unit of x is cm
y=[100, 50, 30, 25, 20, 16, 14, 13, 12, 11, 10.5, 10, ....]; % Intensity
My question is the following:
I can plot y vs. x but I Would like, for instance, to bin x with a constant bin width (constant distance). Let say bin width of 2 (constant distance 2 cm). Therefore I would like to obtain a new x called xn:
xn=[0, 2, 4, 6,..]
and yn should contain the sum of the data which are conatained in in each interval:
interval1=[0,2] contains 100+50=150
interval2=]2,4] contains 50 + 30 + 25 + 20 + 16 + 14 =155
interval3=]4,6] contains 56.5
yn=[150, 155, 56.5]
and then I would like to plot yn versu xn
your hepl is highly welcome....
cheers
0 个评论
回答(1 个)
the cyclist
2014-8-5
You should be able to do this with the hist() or histc() command. You can specify your bin locations, and then get the index for which x values went into each bin. Then use that index to sum your y values.
5 个评论
the cyclist
2014-8-26
I suppose it is either
- the way the bin edges are defined, they are not centered around zero, OR
- the way MATLAB treats values that are exactly on the bin edge, it consistently puts them to one side, leading to asymmetry.
laura9510
2017-1-31
Jumping in years later but if I was looking to average within bins, is using accumarray possible in conjunction with another function?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!