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
Shashank Prasanna 2013년 1월 18일

0 개 추천

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.

댓글 수: 1

John
John 2013년 1월 19일
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?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by