# Binning x and y

10 ビュー (過去 30 日間)
Adam 2014 年 8 月 5 日
コメント済み: laura9510 2017 年 1 月 31 日
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
cheers

サインインしてコメントする。

### 回答 (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 件のコメント

Adam 2014 年 8 月 26 日
Hi ,
Thanks. My data points are symmetric (Fig.1) but when I bin these data using the previous code I obtain another data which are not perfectly symmetric (Fig. 2). Do you know why ? I kindly appreciate your help.
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?

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!

Translated by