用MATLAB编程数值分析的一道题目有。

如下一组数据,请使用M文件对其进行3次和5次拟合,并绘制各次拟合的数据子图形并在图形标题中标记拟合方法。
0 1 2 3 4 5 7 9 10 11 11.5 12
0 1.5 3.2 4.8 5.5 6.4 9.6 7.5 6.7 7.8 8.2 8.5

程序如下:

x=[0    1     2      3     4      5       7       9        10      11      11.5      12 ]  ;
y=[0    1.5  3.2   4.8   5.5   6.4    9.6    7.5    6.7      7.8      8.2        8.5];
a1=polyfit(x,y,3);
syms X
f3=vpa(poly2sym(a1,X),4)%多项式三次拟合结果
a2=polyfit(x,y,5);
f5=vpa(poly2sym(a2,X),4)%多项式五次拟合结果
x1=0:0.001:13;
h1=polyval(a1,x1);
h2=polyval(a2,x1);

plot(x,y,'o',x1,h1,x1,h2)
xlabel('x');
ylabel('y')
title('多项式3,5次拟合拟合曲线')
legend('原始数据点','3次拟合','5次拟合')

结果:

f3 =
 
0.006647*X^3 - 0.2154*X^2 + 2.325*X - 0.3845
 
 
f5 =
 
0.0007557*X^5 - 0.01867*X^4 + 0.1477*X^3 - 0.5009*X^2 + 2.092*X - 0.03306

追问

不对吧

追答

肯定对的

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答