第6章 实验五插值多项式的误差

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

第6章 实验五插值多项式的误差

实验目的:明确插值多项式逼近函数是有误差的,了解误差的分布,哪些地方误差大些,哪些地方误差小些。我们应该如何控制这些误差。

6.1 插值误差余项多项式

举例说明多项式插值误差情况,用ππ≤≤-x 上的5个等距点对函数

)cos(x y =进行插值估计,插值多项式是通过以下给定的数据点的四次多项式:

⎥⎦⎤⎢⎣

--=ππππ,2,0,2,x

[])sin(),2/sin(),0sin(),2/sin(),sin(ππππ--=y

误差定义为:

)()cos()(4x L x x e -=

),())(cos(!

5)

)(2/)(0)(2/)(()

5(ππξξππππ-∈---++=

x x x x x

其中)(x e 是插值余项,)(4x L 是5个数据点的拉格朗日插值多项式。图6.1是函数和误差的图形,可以观察到误差曲线是震荡的,它的值在接近端点的区间上最大,这种误差特性在等距多项式插值中十分典型,误差分布形状上的变化还取决于被插函数的性质及插值区间的大小a b -。

-0.8-0.6-0.4-0.20.20.40.60.8x

c o s (x ) e (x )

图6.1 函数和误差曲线的图形

清单6.1 (是作图6.1的程序)

clear clc

x=[-pi,-pi/2,0,pi/2,pi]; % 插值节点横坐标 y=[cos(-pi),cos(pi/2),cos(0),cos(pi/2),cos(pi)]; % 插值节点纵坐标 x1=-pi:0.001:pi; % 绘图点的横坐标 y1=Lagran_(x,y,x1); % 绘图点的纵坐标 e=cos(x1)-y1; % 插值误差 y2=e;

plot(x,cos(x),'.',x1,cos(x1),'b',x1,y2,'r') % 绘出两个函数曲线图形 xlabel('x');ylabel('cos(x) e(x)') text(1.2,0.6,'cos(x)','fontsize',18) text(-1.1,-0.1,'e(x)=cos(x)-y','fontsize',18)

一般分析插值的误差:

),()

()!

1()())(()(11)

1(121+++∈+---=

n n n x x f n x x x x x x x R ξξ

)(m a x )!

1()

())(()()1(),(12111ξξ+∈+++---≤

n x x n f n x x x x x x x R n 如果当被插值)(x f 是一个n 阶或更低阶多项式,则)(x R =0,即误差为零。否则,右端给出了对任意x 的误差上界估计,右端的分布完全由)(x g 决定,

)!

1()())(()(121+---=

+n x x x x x x x g n

多项式函数)(x g 分布曲线由程序清单6.2给出,分布图形由图6.2(a )、(b )、(c )、(d )分别给出。

清单6.2

clear,clf,hold on x=-pi:pi/2:pi;

f=(x+pi).*(x+pi/2).*(x-0).*(x-pi/2).*(x-pi)./120;

x1=-pi:0.01:pi;

y2=1/30.*(x1+pi).*(x1+pi/2).*(x1-0).*(x1-pi/2).*(x1-pi)./120; axis([-pi,pi,-0.01,0.01]);

subplot(2,2,1),plot(x,f,'.',x1,y2,'r'),title('(a)')

xlabel('x');ylabel('1/30*g(x)');

xp=-pi:pi/4:0;

f1=(xp+pi).*(xp+3*pi/4).*(xp+pi/2).*(xp+pi/4).*(xp-0)./120;

xp1=-pi:0.01:0;

yp1=(xp1+pi).*(xp1+3*pi/4).*(xp1+pi/2).*(xp1+pi/4).*(xp1-0)./120; axis([-pi,pi,-0.01,0.01]);

subplot(2,2,2),plot(xp,f1,'.',xp1,yp1,'r'),title('(b)')

xlabel('x');ylabel('g(x)');

xq=-pi:pi/4:pi;

fq=(xq+pi).*(xq+3*pi/4).*(xq+pi/2).*(xq+pi/4).*(xq-0).*(xq-pi/4). *(xq-pi/2).*(xq-3*pi/4).*(xq-pi)./362880;

xq1=-pi:0.01:pi;

yq2=5*(xq1+pi).*(xq1+3*pi/4).*(xq1+pi/2).*(xq1+pi/4).*(xq1-0).*(x q1-pi/4)...

.*(xq1-pi/2).*(xq1-3*pi/4).*(xq1-pi)./362880;

axis([-pi,pi,-0.01,0.01]);

subplot(2,2,3),plot(xq,fq,'.',xq1,yq2,'r'),title('(c)')

xlabel('x');ylabel('5*g(x)');

xr = [-3.0939 -2.7207 -2.0194 -1.0745 0.0000 1.0745 2.0194 2.7207 3.0939];

fr=(xr+3.0939).*(xr+2.7207).*(xr+2.0194).*(xr+1.0745).*(xr-0).*(x r-1.0745).*(xr-2.0194).*(xr-2.7207).*(xr-3.0939)./362880;

x1=-pi:0.001:pi;

yy=20*(x1+3.0939).*(x1+2.7207).*(x1+2.0194).*(x1+1.0745).*(x1-0).

相关文档
最新文档