拉格朗日插值算法及应用实验报告

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

数学与统计学院课程设计报告

课程:数值分析

题目:拉格朗日插值的算法设计及应用年级:三年级

专业:数学与应用数学

学号:08063008

姓名:肖天天

指导教师:宁娣

2010年 12 月 8 日

数学与统计学院本科课程设计

拉格朗日插值的算法设计及应用

【摘要】 本文简介拉格朗日插值,它的算法及程序和拉格朗日在实际生活中的运

用。运用了拉格朗日插值的公式,以及它在MA TLAB 中的算法程序,并用具体例子说明。拉格朗日插值在很多方面都可以运用,具有很高的应用价值。

【关键词】 拉格朗日;插值;公式;算法程序;应用;科学。

一、绪论

约瑟夫·拉格朗日(Joseph Louis Lagrange),法国数学家、物理学家。他在数学、力学和天文学三个学科领域中都有历史性的贡献,其中尤以数学方面的成就最为突出。拉格朗日对流体运动的理论也有重要贡献,提出了描述流体运动的拉格朗日方法。数据建模有两大方法:一类是插值方法,另一类是拟合函数一般的说,插值法比较适合数据准确或数据量小的情形。然而Lagrange 插值有很多种,1阶,2阶,…n 阶。我们可以利用拉格朗日插值求方程,根据它的程序求原方程的图像。下面我具体介绍分析一下拉格朗日插值的算法设计及应用。 二、正文 1、基本概念

已知函数y=f(x)在若干点i x 的函数值i y =()i x f (i=0,1,⋅⋅⋅,n )一个差值问题就是求一“简单”的函数p(x):p(i x )=i y ,i=0,1,⋅⋅⋅,n, (1)

则p(x)为f(x)的插值函数,而f(x)为被插值函数会插值原函数,0x ,1x ,2x ,...,n x 为插值节点,式(1)为插值条件,如果对固定点-

x 求f(-

x )数值解,我们称-

x 为一个插值节点,f(-

x )≈p(-

x )称为-

x 点的插值,当-

x ∈[min(0x ,1x ,2x ,...,n x ),max(0x ,1x ,2x ,...,n x )]时,称为内插,否则称为外插式外推,特别地,当p(x)为不超过n 次多项式时称为n 阶Lagrange 插值。

2、Lagrange 插值公式

(1)线性插值)1(1L

设已知0x ,1x 及0y =f(0x ) ,1y =f(1x ),)(1x L 为不超过一次多项式且满足

)(01x L =0y ,)(11x L =1y ,几何上,)

(1x L 为过(0x ,0y ),(1x ,1y )的直线,从而得到 )(1x L =0y +

101x x y y --(x-0x ). (2)

为了推广到高阶问题,我们将式(2)变成对称式

)(1x L =0l (x )0y +1l (x)1y .

其中,

0l (x )=

1

01x x x x --,1l (x)=

10x x x x --。均为1次多项式且满足

0l (x )=1且1l (x)=0。或0l (x )=0且1l (x)=1。

两关系式可统一写成)(i i x l =⎩⎨

⎧≠=j

i j i 01 。 (3)

(2)n 阶Lagrange 插值)(x L n

设已知0x ,1x ,2x ,...,n x 及i y =f(i x )(i=0,1,.....,n),)(x L n 为不超过n 次多项式且满足

i i n y x L =)((i=0,1,...n ).

易知)(x L n =0l (x )0y +....+)(x l n n y .

其中,)(x l i 均为n 次多项式且满足式(3)(i,j=0,1,...,n ),再由j x (j ≠i )为n 次多项式)

(x l i 的n 个根知)(x l i =c ∏≠=-n

i

i j j x x 0

.最后,由

⇒=-=∏≠=1)()(0n

i

j j j i j i x x c x l c=

∏≠=-n

i

j j j i

x x

0)

(1

,i=0,1,...,n.

总之,)(x L n =i n i i y x l ∑=0

)(,)(x l i =.0∏

≠=--n

i

j j j

i j x x x x 式为n 阶Lagrange 插值公式,其中,)

(x l i (i=0,1,...n )称为n 阶Lagrange 插值的基函数。 3,Lagrange 插值余项

设0x ,1x ,2x ,...,n x ∈[a,b],f(x)在[a,b]上有连续的n+1阶导数,)(x L n 为f(x)关于节点0x ,

1x ,2x ,...,n x 的n 阶Lagrange 插值多项式,则对任意x ∈[a,b],

).()!

1()

()()()()

1(x n f

x L x f x R n n n ωξ+=

-=+其中,ξ位于0x ,1x ,2x ,...,n x 及x 之间(依赖于

x ),ω(x)=∏=-n

j j x x 0

).(

Eg1:已知函数表sin 6

π=0.5000,sin

4

π=0.7071,sin

3

π=0.8660,分别由线性插值与抛物插值求

sin

9

2π的数值解,并由余项公式估计计算结果的精度。

解:(1)这里有三个节点,线性插值需要两个节点,根据余项公式,我们选取前两个节点,易知:

sin

9

2π≈1L (

9

2π)=0.5000+

6

4

5000

.07071.0π

π

-

-(

9

2π-

6

π)

=0.5000+0.20713

2⨯

=0.6381

截断误差,

)92(

1πR =

)4

92)(692(2)(sinx ππππ--''3

10615.7361821-⨯=⨯⨯

≤ππ, 得.105.010615.713--⨯<⨯=ζ知结果至少有1位有效数字。

(2)易知sin

9

2π≈

+⨯=

5000.0)

3-

6

)(

4

-

6

()

33-9

2)(

4

-

92()9

2(

ππππππππL ⨯-

-

-

-)

)(

)((

3

4

6

4

3

9

26

9

2ππππππππ

0.7071+

8660.04

3

6

3

4

9

26

9

2⨯-

-

-

-)

)(

)((

ππππππππ=

7071.09

85000

.092⨯+

⨯⨯-

9

10.8660=0.6434

截断误差为:

---'''=

π

ππππππx x R )4

92)(492)(692(6)(sin )92(

22

10

861..09

36

18

6

1-⨯=⨯

π

π

π

得.105.010861.824--⨯<⨯=ζ知结果至少有两位数字。 比较本题精确解sin

9

2π=0.642787609...,实际误差限分别为0.0047和0.00062。

4,Lagrange 插值算法和程序

function yy=nalagr(x,y,xx)

%用途:Lagrange 插值法数值求解;格式:yy=nalagr(x,y,xx)

%x 是节点向量,y 是节点上的函数值,xx 是插值点(可以多个),yy 返回插值 m=length(x);n=length(y);

if m~=n,error('向量x 与y 的长度必须一致');end s=0;

for i=1:n

t=ones(1,length(xx));

相关文档
最新文档