龙格现象

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

二.主要方、步骤:

1.运用FORTRAN编制原函数,拉格朗日插值和线性插值程序;

2.将数据运用grapher将实验数据绘制成图.

三.程序代码:

!龙格现象/高次插值的病态性质

PROGRAM LONGERend

parameter(n=10)

real(8) y(0:20),x(0:20),x1(0:20),y1(0:20),Ih(0:20)

!计算f(x)

open(2,file='y.doc')

write(2,"('x',30x,'f(x)')")

do i=0,n

x(i)=-5.0+10*i/n

y(i)=1.0/(1+x(i)**2)

write(2,*) x(i), y(i)

end do

!计算Ln(x),拉格朗日插值程序

OPEN(2,file='y1.doc')

write(2,"('x1',30x,'Ln(x)')")

do i=0,n-1

x1(i)=(x(i)+x(i+1))/2

y1(i)=0.0

do j=0,n

!计算Wn+1(x),W'n+1(x)

w=1.0

wp=1.0

do k=0,n

w=w*(x1(i)-x(k))

if(k/=j) then

wp=wp*(x(j)-x(k))

end if

end do

y1(i)=y1(i)+y(j)*w/wp/(x1(i)-x(j))

end do

write(2,*) x1(i),y1(i)

end do

!分段线性插值程序

open(2,file='Ih.doc')

write(2,"('x1',30x,'Ih')")

do k=0,n-1

Ih(k)=(x1(k)-x(k+1))/(x(k)-x(k+1))*y(k)+(x1(k)-x(k))/(x(k+1)-x(k))*y( k+1)

write(2,*) x1(k),Ih(k)

end do

print*,'数据已写入指定文件'

end

四.数值结果:

x f(x)

-5.00000000000000 3.846153846153846E-002 -4.00000000000000 5.882352941176471E-002 -3.00000000000000 0.100000000000000 -2.00000000000000 0.200000000000000 -1.00000000000000 0.500000000000000

0.000000000000000E+000 1.00000000000000

1.00000000000000 0.500000000000000

2.00000000000000 0.200000000000000

3.00000000000000 0.100000000000000

4.00000000000000

5.882352941176471E-002

5.00000000000000 3.846153846153846E-002

x1 Ln(x)

-4.50000000000000 1.57872102169562 -3.50000000000000 -0.226196282498366 -2.50000000000000 0.253755465606773 -1.50000000000000 0.235346591310803 -0.500000000000000 0.843407429828903

0.500000000000000 0.843407429828903

1.50000000000000 0.235346591310803

2.50000000000000 0.253755465606773

3.50000000000000 -0.226196282498366

4.50000000000000 1.57872102169562

x1 Ih

-4.50000000000000 4.864253393665158E-002 -3.50000000000000 7.941176470588235E-002 -2.50000000000000 0.150000000000000 -1.50000000000000 0.350000000000000 -0.500000000000000 0.750000000000000

0.500000000000000 0.750000000000000

1.50000000000000 0.350000000000000

2.50000000000000 0.150000000000000

3.50000000000000 7.941176470588235E-002

4.50000000000000 4.864253393665158E-002

Grapher制图部分:

原函数图像:

f(x)

x 拉格朗日插值函数图像:

Ln(x)

x

分段线性插值函数图象:

Ih(x)

x原函数

五.数值结果分析:

○1.从拉格朗日插值函数图象与原函数图像的对比可看出:随着自变量|x︱的增大Ln(x)与f(x)总体上呈现出偏离越来越远的效果;

○2.从分段线性插值函数图象与原函数图像的对比可看出:二者较为近似,

拉格线性插值函数能较好的逼近原函数;

从以上两点可以看出,高次插值多项式Ln(x)近似的效果并不一定好,而通过分段线性插值多项式则能很好的避免高次插值的病态现象。

相关文档
最新文档