插值的概念和各种基本方法.pdf

上传人:暗伤 文档编号:67603714 上传时间:2022-12-25 格式:PDF 页数:22 大小:580.05KB
返回 下载 相关 举报
插值的概念和各种基本方法.pdf_第1页
第1页 / 共22页
插值的概念和各种基本方法.pdf_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《插值的概念和各种基本方法.pdf》由会员分享,可在线阅读,更多相关《插值的概念和各种基本方法.pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、插值的概念和基本方法插值的概念和基本方法 内容提要:本文主要介绍了插值的概念和插值的基本方法,包括拉格朗日插值多项式、均差与牛顿插值多项式、差分与等距节点插值多项式、分段线性插值多项式、埃尔米特插值、三次样条插值。在介绍这些方法的同时,还介绍了均差与差分的概念。关键字:插值理论、拉格朗日插值多项式、均差、牛顿插值多项式、三次样条插值、差分 引言:插值理论是数值积分、数值微分、数据拟合、解微分方程等数值分析应用方面的基础。插值法的应用十分广泛,在查表和求值的计算过程中,可以根据已知数据构造插值函数来求得被插函数在某些点的精确值。正文:1 插值的基础知识插值的基础知识 1.1 插值问题的提出插值问

2、题的提出 在许多实际问题及科学研究中,因素之间往往存在着函数关系,但是这些关系的显式表达式不一定都知道,通常只是由观察或测试得到一些离散数值,所以只能从这些数据构造函数的近似表达式。有时,虽然给出了解析表达式,但由于解析表达式过于复杂,使用或计算起来十分麻烦。这就需要建立函数的某种近似表达,本文所讨论的插值法就是构造函数的近似表达的方法。例如,已经测得某化学反应在不同时刻生成物的浓度如表 1 所示。表表 1 某化学反应在不同时刻生成物的浓度某化学反应在不同时刻生成物的浓度 时刻(秒)5 10 15 20 25 浓度()0.045 0.055 3.40 22.54 72.13 如果希望由这些数据

3、合理地估计出它在其他时刻(如 30 秒,40 秒,50 秒)处的浓度,这就是一个典型的插值问题。1.2 插值的定义插值的定义 定义定义 1:设函数在区间,上有定义,且已知在()yf x=a by1n+个节点01bnaxxxL上的值为,若存在简单函数,使01,nyyyL()P x()iiP xy=(0,1,in=L)成立,就称为()P x()f x关于节点01,nxx L x的插值函数,点01,nxx L x称为插值节点,包含插值节点的区间,称为插值区间,而a b()f x称为被插函数,求插值函数的方法称为插值法。()P x若是次数不超过次的代数多项式,即若有:()P xn01()nnP xaa

4、 xa x=+L (1)其中为实数,就称为插值多项式,相应的插值法称为多项式插值。若为分段的多项式,就是分段插值。ia()P x()P x由插值定义可知,插值函数实际上是一条经过平面上1n+个节点(,)iix y,()的曲线。0,1,i=L n可以用这条平面曲线代替近似已知曲线()yP x=()yf x=,如图 1 所示。图 1 1 1.3 插值多项式的存在惟一性插值多项式的存在惟一性 给 定 被 插 函 数()f x,若 插 值 节 点 为01,nxxxL,()iyf xi=,则 满 足 插 值 条 件()iiP xy=()的插值函数是否存在?若存在,那么是否惟一?这就是插值问题的存在惟一性

5、问题。0,1,i=L n()P x定理定理 1:给定被插函数()f x,插值节点01,nxxxL,且()iyf xi=,则必存在惟一的形如表达式(1)的插值函数满足()P x()iiP xy=()。0,1,2,in=L证明:要证明存在惟一,就是要证明存在惟一的一个()P x01()nnP xaa xa x=+L满足:0100001 11101nnnnnnnnaa xa xyaa xa xyaa xa xyn+=+=+=LLLL (2)显然方程组(2)的系数行列式为:200021110121 1 (,)1 nnnnnnnxxxxxxV x xxxxx=LLLLLLLL (3)且是范德蒙(Vand

6、ermonde)行列式。可算得,且当i时10110(,)()niniikV x xxxx=Lkkikxx,知。故方程组(2)存在惟一解,即存在惟一。01(,)0nV xxxL01,na aaL()P x2 拉格朗日插值拉格朗日插值 由定理 1 知,要求插值多项式,可以通过解方程组(2)求得。但这样会导致计算复杂,且得到的不一定是的最简表达式。下面就先讨论()P x01,na aaL()P x1n=和2n=的情形,然后推广到1n+个节点的情形。2.1 线性插值()线性插值()1n=给定两个不同点(,)iix y(),要求插值多项式满足:0,1i=1()P x(1)的次数不超过 1。1()P x(

7、2)()。1()iiP xy=0,1i=显然,可以取为过1()P x(,)iix y(0,1i=)的直线。设:10()P xaa x1=+(4)把两点坐标代入方程(4),得方程组:010001 11aa xyaa xy+=+=由01xx可解出,。0a1a两点之间的斜率为110yy0 xx,将直线表示为点斜式:101010()()yyP xyxxxx=+0 若用两点式表示,则为:011010110()xxxxP xyyxxxx=+(5)2 现在,就用直线近似地代替被插函数1()P x()f x,如图 2 所示。图 2 通常,记式(5)中出现的两个线性函数为:1001()xxlxxx=,0110(

8、)xxl xxx=并称为0()lx0 x上的一次插值基函数,为1()l x1x上的一次插值基函数。插值基函数,在对应的插值节点上取值 1,其余插值节点取值 0,且次数不超过 1,如表 2 所示。0()lx1()l x表表 2 一次插值基函数在一次插值基函数在x0及及x1上取值上取值 0 x 1x 0()lx 1 0 1()l x 0 1 节点函 数 值函 数 由表 2 和图 3 可以看出两个基函数的性质。插值函数实质上是插值基函数和的线性组合,组合系数是对应点上的函数值。1()P x0()lx1()l x 图 3【例【例 1】给定被插函数2xy=及两点坐标(0,1),(1,2),构造线性插值函

9、数,并求的近似值。1()P x0.32解:先求得线性基函数:01()10 1xlxx=,10()1 0 xl xx=代入式(5)得:1()(1)121P xxxx=+=+,0.312(0.3)1P=.32.2 抛物线插值()抛物线插值()2n=与线性插值类似,抛物线是给定三不同点(,)iix y(0,1,2i=),要求插值多项式满足:2()P x(1)的次数不超过 2。2()P x(2)()。2()iiP xy=0,1,2i=显然,可以取为过2()P x(,)iix y()的一条抛物线,假设:0,1,2i=22012()P xaa xa x=+(6)3 把上面三点的坐标代入方程(6),得方程组

10、:4 22010200201 1211201222aa xa xyaa xa xyaa xa xy+=+=+=由三点互异,可解出系数,的值。0a1a2a另外,同线性插值类似,也可以通过构造抛物线插值的基函数来求的表达式。插值基函数在对应的节点上取 1,其余点取 0,如表 3 所示。2()P x表表 3 抛物线插值的基函数抛物线插值的基函数x0、x1及及x2上取值上取值 0 x 1x 2x 0()lx 1 0 0 1()l x 0 1 0 2()lx 0 0 1 节 点 函 数 值 函 数 由上表知有0()lx1x和2x两个零点,故有因子0()lx12()()xxxx2,又因为它的次数不超过 3

11、,故可设它的表达式为:01()()()lxA xxxx=,其中为待定系数。A再把代入,可求得:00()1lx=01021()(A)xxxx=这样就求得了0 x上的抛物线插值基函数:1200102()()()()xxxxlxxxx=同理,可求得1x和2x上的抛物线插值基函数分别为:0211012()()(x)xxxlxxxx=,0122021()()()()xxxxlxxxx=如图 4 所示中的中(a)、(b)和(c)分别为基函数、和的图形。0()lx1()l x2()lx (a)(b)(c)图 4 通过,可求得:0l1l2l020122012010210122021()()()()()()()

12、()()()()()(1)xxxxxxxxxxxxP xyyyxxxxxxxxxxxx=+(7)【例【例 2】给定被插函数,用 3 个节点()cosyf xx=00.0 x=,10.6x=和构造一个抛物线插值多项式。21.2x=2()P x解:将,x,x和00.0 x=10.6=21.20cos(0.0)1y=,y1cos(0.6)0.825336=,y代入式(7)得:2cos(1.2)0.3623582(0.6)(1.2)(0.0)(1.2)()1.00.825336(0.00.6)(0.0 1.2)(0.60.0)(0.6 1.2)xxxxP x=+(0.0)(0.6)0.362358(1

13、.20.0)(1.20.6)xx+1.388889(0.6)(1.2)2.292599(0.0)(1.2)xxxx=0.503275(0.0)(0.6)xx+ 2.3 次拉格朗日插值多项式次拉格朗日插值多项式 n对于及,前面已经得到一次与二次插值多项式及。下面将这种用插值基函数表示的方法推广到更一般的情形。1n=2n=1()P x2()P x设有个节点1n+01nxxLx,为了构造它们的次插值多项式,先给出次插值基函数。n()nP xn定义定义 2:若次多项式(n()jlx1,2,jn=L)在1n+个节点01nxxxL上满足条件:1,()0,jkkjlxkj=(,0,1,j kn=L)(8)则

14、称这个次多项式为节点1n+n01(),(),()nlx l xlxL01,nxx L x上的次插值基函数。由和n1n=2n=的情形令:011011()()()()()()()()(kknkkkkkkkxxxxxxxxlx)nxxxxxxxx+=LLLL(0,1,kn=L)(9)可以验证式(9)满足条件(8),故(()jlx1,2,jn=L)为次插值基函数。所以插值多项式可表示为:n()nP x0()()nnk kkP xy l=x (10)由的定义可知:()klx0()()nnik kiikP xy lxy=,()1,2,in=L形如式(10)的插值多项式称为拉格朗日(Lagrange)插值多

15、项式。()nP x过 4 个点00(,)xy,11(,)x y,22(,)xy,33(,)xy的拉格朗日三次插值多项式为:123023301010203101213()()()()()()()()()()()()()xxxxxxxxxxxxP xyyxxxxxxxxxxxx=+0132202123()()()()()()xxxxxxy 5 xxxxxx+0132202123()()()()()(xxxxxxy)xxxxxx+0123303132()()()()()(xxxxxxy)xxxxxx+(11)【例【例 3】给定0,1.2内的被插函数.0cosyx=,插值点为00.0 x=,10.4x

16、=,20.8x=31.2x=和,0cos(0.0)1y=1cos(0.4)=0.921061y2cos(0.8)0.696707y=,3cos(1.2)0.362358y=,要构造一个三次插值多项式。3()P x解:把四点坐标代入式(11)得:3(0.4)(0.8)(1.2)()1.0(0.00.4)(0.00.8)(0.0 1.2)xxxP x=(0.0)(0.8)(1.2)0.921061(0.40.0)(0.40.8)(0.4 1.2)xxx+(0.0)(0.4)(1.2)0.696707(0.80.0)(0.80.4)(0.8 1.2)xxx+(0.0)(0.4)(0.8)0.3623

17、58(1.20.0)(1.20.4)(1.20.8)xxx+2.604167(0.4)(0.8)(1.2)xxx=7.195789(0.0)(0.8)(1.2)xxx+5.446021(0.0)(0.4)(1.2)xxx0.943641(0.0)(0.4)(0.8)xxx+cosy=x和多项式的曲线分别如图 5 所示。3()yP x=图 5 2.4 拉格朗日插值余项拉格朗日插值余项 要讨论和()nP x()f x的误差,先叙述一个定理。罗尔(Rolle)定理:若()f x在闭区间,连续,在开区间(,可导,且a b)a b()()f af b=,则在中必存在(,)a b,使得()0f=。若在,上

18、用近似a b()nP x()f x,则其截断误差()()()nR xf xP xn=称为插值多项式的余项。关于插值余项有下面定理:()nP x定理定理 2:设()()nfx在,上连续,a b(1)()nfx+在内有定义。设是过点(,)a b()nP x01,nxx L xin的满足条件()和条件(1)的插值多项式,其中,是包含()iP xy=0,1,i=La b01,nxx L x的任意区间,则对任意给定的,xa b,插值余项:(1)()()()()()(1)!nnnfR xf xP xxn+=+n (12)其中(,)a b(依赖于x),01()()()()nnxxxxxxx=L。证明:由给定

19、条件知插值余项(()0niR x=0,1,in=L),故有因子:()nR x01()()(n)xxxxxxL,设余项:01()()()()()nnRxK x xxxxxx=L (13)其中()K x为与x有关的待定函数。固定,xa b,作函数:01()()()()()()()nntf tP tK x txtxtx=L 由插值多项式及余项的定义知,点01,nxxxL及x均为()t的零点,则()t在有个零点。由罗尔定理,,a b2n+()t在()t的任意两个零点之间至少有一个零点,故()t在上至少有个零点。再对,a b1n+()t用罗尔定理,可得()t在上至少有个零点。如此类推,就知在内至少有一个

20、零点,记为,a bn(1)()nt+(,)a b,故有:(1)(1)()()(1)!()0nnfnK x+=+=求得(1)()()(1)!nfK xn+=+,其中(,)a b,且依赖于x。将()K x代回式(13),就得到式(12)。定理得证。值得注意的是,在内的具体位置一般不知道,不过若可以求出:(,)a b(1)1max()nna x bMfx+lagran(0,1,1,2)得到:ans=1 1 这就表明所求拉格朗日插值多项式为1x+。3 均差与牛顿插值多项式均差与牛顿插值多项式 3.1 均差及其性质均差及其性质 拉格朗日插值多项式在理论分析中非常方便,因为它的结构紧凑,利用基函数就很容易

21、得到插 7 值函数。但是拉格朗日插值多项式也有一些缺点,当插值节点增加、减少或其位置变化时,整个插值多项式的结构都会改变,这就不利于实际计算,增加了算法复杂度。假设有个不同的节点及函数在节点上的值1n+00(,),(,)nnxyxyL,克服拉格朗日插值多项式的缺点的有效方法之一是把插值多项式构造成如下形式:01020101()()()()()()(nnnP xaa xxaxxxxaxxxxxx=+LL)n (15)其中系数()为待定系数,可由插值条件ia0,1,i=L()niiP xy=(0,1,in=L)确定。当0 xx=时,。00()nP xay=0当1xx=时,故:10110()()nP

22、 xaa xxy=+=110110yyaxx=当2xx=时,故:2012022021()()()()nP xaa xxaxxxxy=+=220102010221yyyyxxxxaxx=依此方法递推可以得到系数()的一般表达式,为使的算法更简明,并给出一个明确的算法,下面引入均差的概念。ia0,1,i=L nia定 义定 义3:称10110()(),0f xf xf xxxx=为 函 数()f x关 于 点0 x,1x的 一 阶 均 差。令020101221,f xxf xxf xx xxx=,这是一阶均差的均差,称为()f x的二阶均差。一般地,称:0201011,kkkkkkf xxxf x

23、xxf xxxxx=LL1L (16)为()f x的阶均差(有时也称为差商)。k均差是数值分析中的重要概念,它有如下性质:(1)阶均差k01,kf xxxL可表为函数值01(),(),()kf xf xf xL的线性组合,即:010011(),()()()(kikiiiiiiif xf xxx)kxxxxxxxx=+=LLL (17)这个性质可以用归纳法证明。这个性质也表明均差与节点的排列次序无关,称为均差的对称性,即:0110210,kkkf xxxf x xxxf xxx=LLLL (18)(2)由均差性质(1)及式(16)可得:10010,kkkf xxf xxf xxxxx=LLL1k

24、 (19)(3)若()f x在上存在阶微商,且节点,a bn01,nxxxa bL,则阶均差与微商关系如下:n()01(),!nnff xxxn=L,,a b (20)计算均差时通常要构造形如表 4 所示的均差表。表表 4 均差表均差表 kx 零阶均差()kf x 一阶均差二阶均差 三阶均差 8 0 xf0()x 1x f1()x 01,f xx 2x 2()f x 12,f x x 012,f xx x 3x 3()f x 23,f xx 123,f x xx 0123,f xx xx M M M M M 3.2 牛顿插值多项式牛顿插值多项式 根据均差定义,把x看成上的一点,可得:,a 9

25、000()(),()f xf xf x xxx=+00101,()1f x xf xxf x xxxx=+01010,()nnnnf x xxf xxxf x xxxx=+LLL()(),(综合以上式子,把后一式代入前一式,可得:0010)xf xf xxxx=+01201,()()f xx xxxxx+L f0101,()()nnf xxxxxxx+0,()nnLLf x xxx+L()()nnNxRx=+其中:0010)01201,()()f xx xxxxx()(),(nNxf xf xxxx=+L 0101,()()nnf xxxxxxx+LL (21)0()()(),()nnnRxf

26、 xNxf x xxxn=L (22)01()()()()nnxxxxxxx=L 由式(21)确定的多项式显然满足插值条件,且次数不超过。式(15)的多项式中,令系数为:()nNxn0,kkaf xx=L(0,1,kn=L)则将式(15)变成式(21)。称为牛顿均差插值多项式,系数就是均差表(表 4)中加了横线的各阶均差。牛顿均差插值多项式在计算量上比拉格朗日插值多项式节省很多,且便于应用于程序设计中。()nNxka式(22)为牛顿插值的余项,由插值公式的惟一性可知,它与式(12)是等价的,即等价于:(1)()()()()()(1)!nnnfR xf xP xxn+=+n 事实上,利用均差与性

27、质(3)中的微商关系式(20),可由式(22)推出式(12)。而且对f是由离散点给出的情形或f的微商不存在的情形,式(22)都能适用,故式(22)更有一般性。【例【例 5】假定3()4f xxx=,基于点01x=,12x=,56x=,构造均差表,并求基于节点0 x,1x,2x,3x的牛顿插值多项式。3()Nx解:均差表如表 5 所示。表表 5 均差表均差表 kx()kf x 一阶均差二阶均差 三阶均差四阶均差 五阶均差 01x=-3 12x=0 3 23x=15 15 6 34x=48 33 9 1 45x=105 57 12 1 0 56x=192 87 15 1 0 0 3()Nx的系数,

28、a,a03a=13=3126a=出现在均差表 5 的对角线上(划有横线),中心点01x=,和为第一列中的元素,由式(21)和12x=23x=3n=可得:33()3(1)6(1)(2)(1)(2)(3)4Nxxxxxxxxx=+=3.3 牛顿插值的牛顿插值的 MATLAB 实现实现 程序程序 2 构造计算经过点(,)(,()kkkkxyxf x=(0,1,kn=L)的次数小于等于的牛顿插值多项式:n001()(),()nNxf xf xxxx=+0L 01201,()()f xx xxxxx+0101,()()nnf xxxxxxx+LL functionc,d=newpoly(x,y)%这里

29、x 为 n 个节点的横坐标所组成的向量,y 为纵坐标所组成的向量%c 为所求的牛顿插值多项式的系数构成的向量 n=length(x);d=zeros(n,n);d(:,1)=y;for j=2:n for k=j:n d(k,j)=(d(k,j-1)-d(k-1,j-1)/(x(k)-x(k-j+1);end end c=d(n,n);for k=(n-1):-1:1 c=conv(c,poly(x(k);m=length(c);c(m)=c(m)+d(k,k);end 用程序 2 计算例 5:先计算出3()4f xxx=在,01x=12x=56x=上的坐标值为13y=,20y=315y=44

30、8y=,。5105y=6192y=输入:newpoly(1,2,3,4,5,6,-3,0,15,48,105,192)输出:ans=0 0 1 0 -4 0 由此看出所求牛顿多项式为34xx。4 差分与等距节点插值多项式差分与等距节点插值多项式 前面讨论的插值多项式的节点都是任意分布的,但是在实际应用中,出现了很多等距节点的情形,这时的插值公式可以进一步简化,计算也简单。为了得到等距节点的插值多项式,先介绍差分的概念。4.1 差分及其性质差分及其性质 1.差分概念差分概念 设等距节点0kxxkh=+(),函数0,1,kn=L()yf x=在节点上的值()kyf xk=也知道,这里常数称为步长。

31、h定义定义 4:记号:1kkyyy+=k (23)1kkkyyy=(24)1122(/2)(/2)kkkkkyf xhf xhyy+=+=(25)分别称为()f x在kx处以为步长的向前差分、向后差分和中心差分。它们对应的符号、h、分别称为向前差分算子,向后差分算子和中心差分算子。二阶差分可以由一阶差分来定义,即:21212kkkkkyyyyy+=+kykyky 一般地有阶差分的定义,即:m111mmmkkyy+=111mmmkkyy=由式(25)中心差分的定义,ky用到12ky+和12ky两个值,然而它们不是kx对应的函数值,如果一定要用kx对应的函数值,则一阶中心差分应写成:ky121kk

32、kyyy+=,121kkkyyy=二阶中心差分为:11222kkkyyy+=10 如此类推下去。在实际计算中,不变算子I及移位算子也是经常遇到的,它们的定义如下:EkkIyy=,1kkEyy+=所以,由式(23)定义的向前差分可写成:1()kkkkkyyyEyIyEI y+=k 故:EI=同理可得:1IE=,1122EE=2.差分的基本性质差分的基本性质(1)各阶差分均可以由函数值表出。例如:00()(1)(1)nnnniin iiikknkniiyEIyC EyC yn k i+=(26)100()(1)(1)nnnnn iii nn iikknkniiyIEyC EyC y+=k i n

33、(27)其中(1)(1)!inn nniCi+=L为二项式展开系数。(2)函数值也可以用各阶差分表出。例如,可用向前差分表示,因为:n ky+0()nnnin kkknkiyE yIyC+=+=iy 故:0niin knkiyCy+=(28)(3)均差与差分的关系:对于向前差分,有:111,kkkkkkyyyf xxkxxh+=21211222,1,2kkkkkkkkkkf xxf xxf xxxyxxh+=一般地,11,!mkkmmkf xxym h+=L(1,2,mn=L)(29)同理,对于向后差分,有:111,!mkkk mkmf xxxym h=L (30)利用式(39)和式(30),

34、可得:()()nnnkyh f=(31)其中(,)kk nxx+。式(31)体现了差分与函数微商的关系。类似均差表,差分也有差分表,表 6 是向前差分表。表表 6 向前差分表向前差分表 kx 2 3 4 0y0y20y30y40y 1y 1y 21y 31y M 2y 2y 22y M 3y 3y M 11 续表续表 6 kx 2 3 4 4yM M 4.2 等距节点插值多项式等距节点插值多项式 等距节点是一类很特殊的节点,所以它们的插值多项式可以套用牛顿均差插值多项式(21)。事实上,将式(21)中各阶均差用相应的差分代替,就得到了各种形式的等距节点插值公式。在这里只讨论常用的牛顿前插与后插

35、公式。1.牛顿前插多项式牛顿前插多项式 如果节点0kxxkh=+(),要计算0,1,k=L n0 x附近点x的函数()f x的值。令0 xxth=+,01t,故:10()()(1)()kkkiixxxt ttk h+=L 将上式和式(29)代入式(21),则有:20000(1)(1)(1)()2!nnt tt ttnNxthyt yyyn+=+LL0 (32)称为牛顿前插多项式,其余项由式(12)得:1(1)(1)()()()(1)!nnnt ttnRxhfn+=+L,0(,)nxx (33)2.牛顿后插多项式牛顿后插多项式 如果要求函数表示nx附近的函数值()f x,此时应用牛顿均差插值多项

36、式(21),插值点应按1,nn0 xxL x1的次序排列,则有:112(),(),()()nnnnnnnnnnNxyf xxxxf xxxxxxx=+L 011,()()nnnf xxxxxxx+LL 作变换0nxxth=+(1t0 ),并利用公式(32),代入上式得:2(1)(1)(1)()2!nnnnnnnt tt ttnNxthyt yyyn+=+LL (34)称为牛顿后插多项式,其余项为:()()()nnR xf xNxth=+n 1(1)(1)()()(1)!nnt ttnhfn+=+L,0(,)nxx 利用牛顿前插多项式(32)计算函数值,其系数就是()f x在0 x对应的各阶向前

37、差分,可见表 6。若用牛顿后插多项式(34)求()f x的值,因为x在nx附近,故其系数为()f x在点nx对应的各阶向后差分。等距节点插值多项式在实际中应用非常广泛。例如,在很多工程设计计算时需要查各种函数表,用计算机计算时就必须解决计算机查表问题。如果用一个确定的解析表达式来近似该函数,则可能达不到精度要求。但如果把整个函数表输入并存入内存,往往占用单元太多。因此,在计算机计算中,往往采用“存放大间隔函数表,并用插值公式计算函数近似值”的方案,这种方案的可行性和有效性都较高。【例【例 6】在微电机设计计算中需要查磁化曲线表,通常给出的表是磁密每间隔 100 高斯磁路每厘米长所需安匝数的值,

38、下面要解决从 4000 至 11000 区间的查表问题。BatB为节省计算机存储单元,采用每 500 高斯存入一个值。为了分析采用几阶插值公式合适,应先列出差分表,表 7 是以硅钢片的磁化曲线为例所造的差分表。at 12 表表 7 硅钢片磁化曲线所造的差分硅钢片磁化曲线所造的差分 k kB()kkatf B=ky 2ky 3ky 0 4000 1.38 0.10 1 4500 1.48 0.10 0 2 5000 1.58 0.11 0.01 0.01 3 5500 1.69 0.12 0.01 0 4 6000 1.81 0.13 0.01 0 5 6500 1.94 0.16 0.03 0

39、.02 6 7000 2.10 0.18 0.02-0.01 7 7500 2.28 0.22 0.04 0.02 8 8000 2.50 0.26 0.04 0 9 8500 2.76 0.30 0.04 0 10 9000 3.06 0.35 0.05 0.01 11 9500 3.41 0.42 0.07 0.02 12 10000 3.83 0.50 0.08 0.01 13 10500 4.33 0.60 0.10 0.02 14 11000 4.93 从差分表 7 中看到三阶差分近似于 0,因此计算时只需用二阶差分,当时用牛顿的前插多项式;当10时用牛顿后插多项式。例如,求时取,4

40、00010500B50011000B(5200)f05000B=01.58y=,00.11y=200.01y=500h=5200B=0.4t=,于是由公式(32),取,得:2n=0.4(0.6)(5200)1.580.4 0.110.012f+1.62=这个结果与直接查表得到的值相同,说明牛顿向后插值法在计算机上求值是有效的。5 分段线性插值多项式及其余项估计分段线性插值多项式及其余项估计 前面已经提到,给定个不同节点及函数在节点上的值,可以估计所构造的次插值多项式的余项,而且余项的大小与节点的个数及位置有关。那么能否说节点越多,插值多项式对函数的逼近程度就越好呢?1n+n增加节点,实质上是采

41、用更高阶的插值函数来逼近被插函数。而许多函数的高阶微商将随着阶数的增加而扩大,如()4xf x=、()()4(ln4)41.39nxnxfx=n,对固定的x,()()nfx随着增加而呈指数增长。n由式(12)知(1)()nf+是误差的因子,即误差随着节点的增加而扩大。所以增加节点,采用高阶插值的方法不一定能减小误差。()nR x5.1 分段线性插值多项式分段线性插值多项式 由上面的讨论知,增加节点并不一定能保证插值函数很好地逼近被插函数,为此引进分段线性插值的概念。定义定义 5:设在区间,上,被插函数a b()yf x=在1n+个节点01bnaxxxL上的值为,若存在一个插值多项式满足:01,

42、nyyyL()P x(1)()。()iP xy=i0,1,in=L(2)在每个小区间()P x1,iix x+(0,1,1in=L)上是线性函数。则称插值多项式为区间,上对数据()P xa b(,)iix y(0,1,in=L)的分段线性插值多项式。要构造分段线性插值多项式,推广前面构造拉格朗日插值多项式的方法,先在每个插值节点上构造分段线性插值基函数,再对基函数作线性组合。其中基函数在对应的节点上取 1,其他点取 0,如表 8 所示。表表 8 对应结点的基函数值对应结点的基函数值 基函数 0 x 1x L nx 0()lxL 1 0 0 13 续表续表 8 基函数 0 x 1x L nx 1

43、()l xL 0 1 0 L L L L L()nlx 0 0 L 1 显然插值基函数的表达式为:1010101,()0,nxxxxxxxl xxxx=11111111,(),0,iiiiiiiiiiiiixxxxxxxxxl xxxxxxa bxx+=(1,2,1in=L)11101,()0,nnnnnnnxxxxxxxl xxxx=(35)由插值基函数得到分段线性插值多项式的表达式为:0()()nk kkP xy l=x 插值基函数,的图形分别如图6中的(a)、(b)、(c)所示。0()lx()il x()nlx (a)(b)(c)图 6 从图6中可看出分段线性插值的几何意义是:在每个小区

44、间1,iix x+()上用直线0,1,1i=L n 14 段替代曲线,在整个区间,上用折线替代曲线()yf x=a b()yf x=,如图7所示。图 7【例【例 7】由表9所给定的数据构造一个分段线性插值多项式。表表 9 数据表数据表 x-1 和 1-0.8 和 0.8-0.6 和 0.6-0.4 和 0.4-0.2 和 0.2 0 y 0.03846 0.05882 0.10000 0.20000 0.50000 1.00000 15 由表9看出插值节点为2110ii=+0,1,10i(L)。x=由式(35)得各点的插值基函数为:05(0.8),10.8()0,0.81xxlxx+=115(

45、1(1),1(1)155111()5(1(1),11(1)555110,1,1 1(1),1(1)55i15xiixil xxiixiii+=+1,2,9i(Ll x)=100,10.8()5(0.8),0.81xlxxx=分段线性插值多项式为:01019280()()0.03846()()0.05882()()0.10000()()nk kkP xy lxlxlxl xlxlx=+。374650.20000()()0.50000()()()l xlxlxlxl x+5.2 余项估计余项估计 定理定理 3:设在区间,上,a b()f x连续,且()fx存在,给定1n+个节点01bnaxxxL及

46、()f x在节点上的值,是在区间,上由数据(,01,nyyyL()P xa b)iix y(0,1,in=L)构成的分段线性插值多项式,则余项满足:()R x2()()()8hR xf xP xM=(36)其中101maxiii nhxx+=,max()a x bfx=。M证明:由式(12),在每个小区间1,iix x+(0,1,1in=L)上有:121()()max()()8iiiiixx xxxR xfxR x+=故在,上有:a b201()max()8ii nhR xR xM 6 埃尔米特插值埃尔米特插值 在实际问题中,为了增加插值多项式和被插函数的密合程度,不仅要求所得的插值多项式能在

47、插值节点取函数值,还要在节点上取已知微商值。这种带微商的插值方法就是埃尔米特(Hermite)插值。下面只讨论函数值与微商值的个数相等的情况。6.1 埃尔米特插值多项式埃尔米特插值多项式 1.埃尔米特插值基函数埃尔米特插值基函数 定义定义 6:设在区间,上,被插函数a b()yf x=在1n+个节点01bnaxxxL上的值分别为,微商值分别为。若插值多项式01,nyyyL01,nm mmL21()nHx+满足:16 (1)21()niiHxy+=,21()niiHxm+=(0,1,in=L)(37)(2)21()nHx+的次数不超过2。1n+则称插值多项式21()nHx+为区间,上对数据a b

48、(,)iix y和(,)iix m(0,1,in=L)的埃尔米特插值多项式。这种插值方法表明插值曲线21()nHx+与()yf x=在(,)iix y(0,1,in=L)有相同切线。为了构造插值多项式,仍采用构造插值基函数的方法。每个插值节点对应两个插值基函数()ix,()ix(),它们分别满足:0,1,i=L n0,()1,ikikxik=,()0ikx=()0ikx=,0,()1,ikikxik=,(,0,1,i kn=L)(38)于是满足式(37)的插值多项式表示为:210()()()nniiiiiHxyxm+=+x (39)利用拉格朗日插值基函数,由式(38)可令:()il x2()(

49、)()iixaxb lx=+其中、待定:ab011011()()()()()()()()()niiniiiiiiixxxxxxxxl xxxxxxxxx+=LLLL0,1,in(L)=将条件(37)代入得:2()()()1iiiiixaxb lx=+=,()()()2()()0iiiiiiiiixl xal xaxb l x=+=x 解得:2()iial x=,12()iibxl=+又由01()niikikk il xxx=,得:201()(12()()niiixkikk ixxlxxx=0,1,in(=Li)(40)同理可得:2()()()iixxx lx=(0,1,in=L)(41)【例【

50、例 8】利用表10的数据构造埃尔米特插值多项式,并用所求的插值多项式求的值。ln0.60表表 10 数据表数据表 x 0.40 0.50 0.70 0.80 ln x-0.916291-0693147-0.356675-0.223144 1x 2.50 2.00 1.43 1.25 解:由30()ikikii kxxlxxx=,301()kkikii klxxx=0,1,2,3k=得:, 0(0.6)0.166667l=,1(0.6)0.666667l=2(0.6)0.666667l=,3(0.6)0.166667l=0(0.40)15.833333l=,1(0.50)1.666667l=2(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁