数值分析第五章数值实验

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

1. 实验目的:学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题

2. 实验内容:给定数据点x yj如下:

3. 实验要求:

(1)编写程序用最小二乘法求拟合数据的多项式,并求平方误差,作出离散函数(X, y i)和拟合函数的图形。

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

4. 实验步骤:

(1)首先根据上述表格中给定的数据点(为$),用MATLAB?序画出散点图。在MATLA工作窗口输入程序

>>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程序求待定系数a k(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

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

输入程序:

>>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=le ngth(xi);f=xi.A2+xi+1;

x=0:0.001:1.0;F=x.A2+x+1;

fy=abs(f-y);fy2=fy.A2;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)的图形')

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

Ew=

4.4409e-016

E1 =

6.3441e-017

E2=

1.6785e-016

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

⑵用MATLA的内部函数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=le ngth(xi);f=xi.A2+xi+1;

fy=abs(f-y);E1=sum(fy )/n

运行后屏幕显示数据(x,yj与拟合函数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. 实验分析:

编写程序用最小二乘法求拟合曲线的多项式的过程中,求出的数据(x,y)与拟合函数f的最大误差Ew=4.4409e-016,平均误差E仁6.3441e-017和均方根

误差E2=1.6785e-016非常小都达到了很高的精度要求,及其通过散点求得的拟合曲线y二f (X)的图形比较光滑

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

拟合曲线曲对的图形

图1-3多项式拟合曲线

相关文档
最新文档