The following code generates me this plot:
[p,S] = polyfit(x,y,4);
alpha=0.05;
[y_fit,delta] = polyconf(p,x,S,'alpha',alpha);
% [y_fit,delta] = polyval(p,x,S);
plot(x,y_fit,'r-');
plot(x,y_fit-delta,'m--',x,y_fit+delta,'m--');
However i just want one line to be plotted and not a thousand...
Can somebody tell me how to do that?

 채택된 답변

dpb
dpb 2022년 10월 11일

0 개 추천

That looks like your data are just a scatter all over and you're asking polyconf to evaluate the fit and the intervals over all data points, then plotting all those results.
When you do that, it evaluates the points in the order in which they exist in the raw data vectors and draws point-to-point in that order.
You forgot to attach the data so we can't reproduce,but try
[x,ix]=sort(x);
y=y(ix);
before calling polyconf and see if doesn't work out better

추가 답변 (0개)

질문:

2022년 10월 11일

댓글:

2022년 10월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by