第一范文网 - 专业文章范例文档资料分享平台

数值分析第五章数值实验

来源:用户分享 时间:2025/8/24 20:41:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数值分析第五章数值实验之数值拟合

1.实验目的:学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。 2.实验内容:给定数据点(xi,yi)如下:

xi yi 3.实验要求:

0 1 0.5 1.75 0.6 1.96 0.7 2.19 0.8 2.44 0.9 2.71 1.0 3.00 (1)编写程序用最小二乘法求拟合数据的多项式,并求平方误差,作出离散函数(xi,yi)和拟合函数的图形。

(2)用MATLAB的内部函数polyfit求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB的内部函数plot作出其图形,并与(1)的结果进行比较。 4.实验步骤:

(1)首先根据上述表格中给定的数据点(xi,yi),用MATLAB程序画出散点图。 在MATLAB工作窗口输入程序 >>x=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; plot(x,y,'r*'),legend('数据点(xi,yi)'), x1abel('x'),y1abel('y'),

title('本实验的数据点(xi,yi)的散点图') 运行后屏幕显示数据的散点图,如下图1-1

图1-1 表中给出的数据的散点图

因为数据的散点图1-1的变化趋势与二次多项式很接近,所以取 组函数1,x,x2,令 f(x)?a1x2?a2x?a3(1?1)

用作线性最小二乘拟合的多项式拟合的MATLAB程序求待定系数

ak(k?1,2,3).输入程序

x=[0 0.5 0.6 0.7 0.8 0.9 1.0]; a=polyfit(x,y,2) 运行后输出(1-1)式的系数 a=

1.0000 1.0000 1.0000 故拟合多项式为

f(x)?x2?x?1

用MATLAB程序估计其误差,并作出拟合曲线和数据的图形。 输入程序:

>>xi=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; n=length(xi);f=xi.^2+xi+1; x=0:0.001:1.0;F=x.^2+x+1;

fy=abs(f-y);fy2=fy.^2;Ew=max(fy), E1=sum(fy)/n,E2=sqrt((sum(fy2))/n), plot(xi,y,'r*',x,F,'b-'),

legend('数据点(xi,yi)','拟合曲线y=f(x)'), x1abel('x'),y1abel('y'),

title('本实验的数据点(xi,yi)和拟合曲线y=f(x)的图形')

运行后屏幕显示数据(xi,yi)与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点(xi,yi)和拟合曲线y?f(x)的图形,见图1-2. Ew=

4.4409e-016 E1=

6.3441e-017 E2=

1.6785e-016

图1-2 数据散点图和拟合曲线

(2) 用MATLAB的内部函数polyfit求解上面最小二乘法曲线拟合多项式的系数,输入程序为:

>> x=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; a=polyfit(x,y,2) a=

1.0000 1.0000 1.0000 >> x=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; a=polyfit(x,y,3) a =

-0.0000 1.0000 1.0000 1.0000 由此可知拟合的多项式为二次多项式, 其系数为a=1.0000 1.0000 1.0000 拟合的多项式为

f(x)?x2?x?1

求拟合多项式的平方误差,输入程序为 xi=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; n=length(xi);f=xi.^2+xi+1; fy=abs(f-y);E1=sum(fy)/n

运行后屏幕显示数据(xi,yi)与拟合函数f的平均误差E1: E1=6.3441e-017

用MATLAB的内部函数plot作出其图形。 输入程序为:

>>x=[0 0.5 0.6 0.7 0.8 0.9 1.0]; y=[1 1.75 1.96 2.19 2.44 2.71 3.00]; plot(x,y)

运行后拟合多项式的图形如图1-3. 5.实验分析:

编写程序用最小二乘法求拟合曲线的多项式的过程中,求出的数据(xi,yi)与拟合函数f的最大误差Ew=4.4409e-016,平均误差E1=6.3441e-017和均方根误差E2=1.6785e-016非常小都达到了很高的精度要求,及其通过散点求得的拟合曲线y?f(x)的图形比较光滑。

而用MATLAB的内部函数polyfit求解的曲线拟合多项式和平方误差与程序求得的相同,还有就是虽然求解过程简单了,但用MATLAB的内部函数plot作出的图形有明显的尖点,不够光滑。

图1-3多项式拟合曲线

搜索更多关于: 数值分析第五章数值实验 的文档
数值分析第五章数值实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8xb8l3q5z87b3ef98nej_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top