用MATLAB编程数值分析的一道题目有.
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 12:02:50
用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
如下一组数据,请使用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
再问: 不对吧
再答: 肯定对的
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
再问: 不对吧
再答: 肯定对的