# Histc function, bin edges error

3 views (last 30 days)
John on 18 Jan 2013
Hi,
I am using the code below to overlay a cdf plot on a histogram (top code). I want to specify the bin edges using the histc function (below code). But, I'm getting an error using the histc function below. Would anybody know what I'm doing wrong?
Thanks
[y2,x2] = ecdf(y);
[y1,x1] = hist(y);
plotyy(x1,y1,x2,y2,@(x,y)bar(x,y,1,'c'),'stairs')
x = 110:10:220;
[y2,x2] = ecdf(y);
[y1,x1] = histc(y,x);
plotyy(x1,y1,x2,y2,@(x,y)bar(x,y,1,'c'),'stairs')
X must be same length as Y.
Error in @(x,y)bar(x,y,1,'c')

Shashank Prasanna on 18 Jan 2013
I think you want to make sure that everything is a row vector or every thing is a column vector.
x = 110:10:220;
[y2,x2] = ecdf(y);
[y1,x1] = histc(y,x);
y1 = y1';
x1 = x1';
plotyy(x1,y1,x2,y2,@(x,y)bar(x,y,1,'c'),'stairs')
% Make sure that x1 x2 y1 y2 all are either columns or rows.
John on 19 Jan 2013
Hi,
It is still giving an error, "X must be same length as Y".
But x are the bin edges? and y is the data, why would they be the same length?