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?

 Akzeptierte Antwort

dpb
dpb am 11 Okt. 2022

0 Stimmen

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

Weitere Antworten (0)

Gefragt:

am 11 Okt. 2022

Kommentiert:

am 12 Okt. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by