已知4个点,请问如何用Matlab进行3次多项式拟合成曲线??在线等

x=[220 280 340 400];
y=[101 70.5 51 24];

第1个回答  2013-04-23
x=[220 280 340 400];
y=[101 70.5 51 24];
polyfit(y,x,3)

ans =
0.0005 -0.0951 2.5875 385.3642

ans为3次多项式系数本回答被网友采纳
第2个回答  2013-04-22
x=[220 280 340 400];
y=[101 70.5 51 24];
x0=200:1:400;
f=polyfit(x,y,3);
f1=polyval(f,x0);
plot(x,y,'-r',x0,f1,'-b')
希望会帮你追问

出的图象上能标注文字吗?我是4个线出在一个图里了。

追答

x=[220 280 340 400];
y=[101 70.5 51 24];
y0=polyval(x,y);
plot(x,y0,x,y0,'-')
x1=200:1:400;
p1=polyfit(x,y0,3);y1=polyval(p1,x1);
p2=polyfit(x,y0,4);y2=polyval(p2,x1);
p3=polyfit(x,y0,5);y3=polyval(p3,x1);
plot(x1,y1,'-r',x1,y2,'--b',x1,y3,'-.g')

追问

我重新叙述一遍吧。我想在线上边标注”今年“两个字。用text(x,p1,"今年")
出来的是一连串的”今年 “ 如何在曲线中间只要一个标注即可。

追答

legend('jin_nian','ming_nian','qu_nian')

这样吧

本回答被提问者采纳
相似回答