matlab多项式曲线拟合polyfit(x,y,n)

x=[ -3 -1 0 2 5.5 7];
y=[3.3 4.5 2.0 1.5 2.5 -1.2];
p3=polyfit(x,y,3);
p4=polyfit(x,y,4);%次数
p5=polyfit(x,y,5);
xcurve=-3.5:0.1:7.2;%生成x的值
p3curve=polyval(p3,xcurve);
p4curve=polyval(p4,xcurve);%计算在这些x点的多项式
p5curve=polyval(p5,xcurve);
plot(xcurve,p3curve,'--',xcurve,p4curve,'-.',xcurve,p5curve,'-',x,y,'*');
lx=[-1 1.5];
ly=[0 0];
hold on
plot(lx,ly,'--',lx,ly-1.3,'-.',lx,ly-2.6,'-');
text(2, 0,'degree3');
text(2, -1.3,'degree4');
text(2, -2.6,'degree5');

原文地址:https://www.cnblogs.com/qingshuiqianhe/p/5781473.html