《工科数值分析第二章wang教学课件PPT.pptx》由会员分享,可在线阅读,更多相关《工科数值分析第二章wang教学课件PPT.pptx(115页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、工科数值分析第二章wang2第 二 章插值法Interpolation 插值法是数值分析中很古老的分支,有着悠久的历史 等距节点内插公式是由我国隋朝数学家刘焯(544-610年)首先提出的 不等距节点内插公式是由唐朝数学家张遂(683-727年)提出的,比西欧学者的相应结果早一千多年平凡的伟大平凡的伟大- -新冠抗疫微纪录片新冠抗疫微纪录片2019年末-风景这边独好 -“中国共产党为什么能、马克思主义为什么行、中国特色社会主义为什么好”的又一有力证据崔恒建,胡涛,新型冠状病毒肺炎疫情预测预报的非线性回归方法,中国科学:数学. 2021,51(08)4内容提要n 代数多项式插值代数多项式插值n
2、Hermite 插值插值n 分段低次插值分段低次插值n 三次样条插值三次样条插值n Matlab中的插值中的插值5插值l 许多实际问题都可用函数来表示某种内在规律的数量关系许多实际问题都可用函数来表示某种内在规律的数量关系l 但函数表达式无法给出,只有通过实验或观测得到的数据表但函数表达式无法给出,只有通过实验或观测得到的数据表l 如何根据这些数据推测或估计其它点的函数值?如何根据这些数据推测或估计其它点的函数值?例:例:已测得在某处海洋不同深度处的水温如下:已测得在某处海洋不同深度处的水温如下: 深度(深度(M) 466 741 950 1422 1634 水温(水温(oC) 7.04 4.
3、28 3.40 2.54 2.13根据这些数据,希望合理地估计出其它深度(如根据这些数据,希望合理地估计出其它深度(如 500、600、800米米)处的水温。)处的水温。l 为什么要插值为什么要插值6插值基本概念已知函数已知函数 y = f(x) 在在 a, b 上有定义,且已经测得在点上有定义,且已经测得在点 a x0 x1 xn b 处的函数值为处的函数值为 y0 = f(x0), ,yn = f(xn)l 什么是插值什么是插值如果存在一个如果存在一个简单易算简单易算的函数的函数 p(x),使得,使得 p(xi) = f(xi),i = 0, 1, . , n (2.1)则称则称 p(x)
4、 为为 f(x) 的的插值函数插值函数l a, b 为插值区间,为插值区间,xi 为插值节点,为插值节点,p(xi) = f(xi) 为插值条件为插值条件l 插值节点插值节点无需递增排列无需递增排列,但必须确保,但必须确保互不相同互不相同!l求插值函数求插值函数 p(x) 的方法就称为的方法就称为插值法插值法常用插值法x0 x1x2x3x4xl 多项式插值:多项式插值:p(x) 为多项式,多项式最常用的插值函数为多项式,多项式最常用的插值函数l 分段插值:分段插值:p(x) 为分段多项式为分段多项式l 三角插值:三角插值:p(x) 为三角函数为三角函数l 有理插值:有理插值:p(x) 为有理函
5、数为有理函数l P(x) l 常用插值法7一、一、待定系数法待定系数法1 1 代数多项式插值代数多项式插值数多项式插值问题的具体提法就是:已知函数已知函数 y = f(x) 在在 a, b 上上 n + 1 个点个点 a x0 x1 xn b 处的函数值为处的函数值为 y0 = f(x0), ,yn = f(xn)求次数求次数 不超过不超过 n 的多项式的多项式 pn(x) = a0+a1x + + anxn,使得使得 pn (xi) = yi,i = 0, 1, . , n89唯一性说明:唯一性说明:不论用何种方法来构造,也不论用何种形式来表示插值多项式,只要满足插值条件(2.1)其结果都是
6、相互恒等的。 1011误差估计l 估计误差估计误差 ( )( )( )nnR xf xP x插值余项插值余项定理:定理:设设 f(x) Cna, b ( n 阶连续可微阶连续可微 ),且,且 f (n+1)(x)在在 (a, b) 内存在,则对内存在,则对 x a,b,存在,存在 x (a, b) 使得使得其中其中(1)1()( )( )( )( )(1)!nxnnnfRxf xP xxn 101( )()()()nnxxxxxxx l 注:余项中的注:余项中的 x 与与 x 是相关的是相关的12插值余项证明 由插值条件可知:由插值条件可知: Rn(xi)=0, i=0, 1, , n Rn(
7、x) 在在a,b上至少有上至少有 n+1 个零点个零点对任意给定的对任意给定的 x a,b (x xi , i =0, 1, ., n),构造辅助函数,构造辅助函数则则 在在 a, b 中有中有 n+2 个互不相同的零点:个互不相同的零点:x, x0 , , xnRn(x) 可写成可写成01( )( )()()()nnRxK xxxxxxx 01( )( )( )()()()nntRtK xtxtxtx ( ) t 罗尔罗尔定理定理13插值余项由由Rolle定理可知定理可知 在在 (a, b) 内至少有内至少有 n+1 个不同的零点;个不同的零点;同理可知同理可知 在在 (a, b) 内至少有
8、内至少有 n 个零点;个零点; 又又f(x) Cna, b,且,且 f (n+1)(x) 在在 (a, b) 内存在内存在( ) t ( ) t (1)( )nt 以此类推,可知以此类推,可知 在在 (a, b) 内至少有一个零点,设为内至少有一个零点,设为 x ,即即 , x (a, b)。 (1)()0nx (1)(1)(1)01(1)(1)(1)( )( )( )()()() ( )( )( )(1)! ( )( )(1)!nnnnnnnnntRtK xtxtxtxftPtK x nftK x n (1)()( )(1)!nxK xn (1)1()( )( )(1)!nxnnfRxxn
9、14插值余项l 余项公式只有当余项公式只有当 f(x) 的高阶导数存在时才能使用的高阶导数存在时才能使用l 几点说明几点说明 l 计算点计算点 x 上的近似值时,应尽量选取与上的近似值时,应尽量选取与 x 相近插值节点相近插值节点10( ) (1)!nnniiMRxxxn 如果如果 ,则,则(1)1( )nnfxM l x 与与 x 有关,通常无法确定有关,通常无法确定, 实际使用中通常是估计其上界实际使用中通常是估计其上界15基函数插值法l 基函数基函数插值法插值法通过基通过基函数来构造函数来构造插值多项式的方法插值多项式的方法就就称为称为基函数基函数插值插值法法记记 Zn(x) = 次数不
10、超过次数不超过 n 的多项式的全体的多项式的全体n+1 维维设设 z0(x), z1(x), . , zn(x) 构成构成 Zn(x) 的一组基,则插值多项式可表示为的一组基,则插值多项式可表示为p(x) = a0z0(x) + a1z1(x) + + anzn(x)寻找合适的基函数寻找合适的基函数 确定插值多项式在这组基下的线性表示系数确定插值多项式在这组基下的线性表示系数16二、Lagrange插值法l Lagrange 基函数基函数定义:定义:设设 lk(x) 是是 n 次多项式,在插值节点次多项式,在插值节点 x0 , x1 , , xn 上满足上满足则则称称 lk(x) 为节点为节点
11、 x0 , x1 , , xn 上的上的 n 次次插值基函数插值基函数1,()0,kiiklxik 0,1,2,in 0110110,()()( ) ()()()()()()kknkkkkniii kkknikkxxxxxlxxxxxxxxxxxxxxxx 通过构造法,可求得通过构造法,可求得17Lagrange插值l 两点说明两点说明l l0(x) , l1(x) , , ln(x) 构成构成 Zn(x) 的一组的一组基基l l0(x) , l1(x) , , ln(x) 与插值节点有关,但与与插值节点有关,但与 f(x) 无关无关18Lagrange插值l 如何用如何用 Lagrange
12、基函数求基函数求 P(x) 设设 p(x) = a0l0(x) + a1l1(x) + + anln(x)将将 p(xi) = yi ,i = 0, 1, . , n 代入,可得代入,可得ai = yi ,i = 0, 1, . , np(x) = y0l0(x) + y1l1(x) + + ynln(x)( )nLx 000,( )( )nnnink kkkkii kkixxLxy lxyxx Ln(x) 就称为就称为 f(x) 的的 Lagrange 插值多项式插值多项式19线性与抛物线插值l 两种特殊情形两种特殊情形 0110 01 1010110( )( )( )xxxxL xy lx
13、y l xyyxxxx l 线性插值多项式(一次插值多项式):线性插值多项式(一次插值多项式): n=10201122012010110122021()()()()()()( )()()()()()()xxxxxxxxxxxxL xyyyxxxxxxxxxxxxl 抛物线插值多项式(二次插值多项式):抛物线插值多项式(二次插值多项式): n=2注:注:n 次插值多项式次插值多项式 Ln(x) 通常是通常是 n 次的,但有时也会低于次的,但有时也会低于 n 次。如:二次插值中,次。如:二次插值中,如果三点共线,则如果三点共线,则 Ln(x) 为直线为直线 20Lagrange基函数性质l Lag
14、range 基函数的两个重要性质基函数的两个重要性质 l 当当 f(x) 为一个次数为一个次数 n 的多项式时,有的多项式时,有 故故 即即 n 次插值多项式对于次数次插值多项式对于次数 n 的的多项式是多项式是精确精确的的( )( )( )0nnRxf xLx(1)( )0nfx l 若若 f(x) = xk,k n,则有,则有 特别地,当特别地,当 k = 0 时有时有0( )( )0nkknjjjRxxx lx 0( )1njjlx 212223插值举例例例2.2:已知函数已知函数 y = lnx 的函数值如下的函数值如下解解:x0.40.50.60.70.8lnx-0.9163-0.6
15、931-0.5108-0.3567-0.2231试分别用试分别用线性插值线性插值和和抛物线插值抛物线插值计算计算 ln 0.54 的近似值的近似值(板书)(板书)线性插值线性插值:取取 x0=0.5, x1=0.6 得得将将 x=0.54 代入可得:代入可得:011010110( )0.18231.6046xxxxL xyyxxxxx ln 0.54 L1(0.54) =-0.6202为了减小截断误差,通常选取插值点为了减小截断误差,通常选取插值点 x 邻接的插值节点邻接的插值节点24插值举例抛物线插值抛物线插值:取取 x0=0.4, x1=0.5, x2=0.6, 可得可得ln 0.54 L
16、2(0.54) =-0.6153在实际计算中,一般不需要给出插值多项式的具体在实际计算中,一般不需要给出插值多项式的具体表达式表达式 ln 0.54 的精确值为:的精确值为:-0.616186可见,抛物线插值的精度比线性插值要高可见,抛物线插值的精度比线性插值要高Lagrange 插值简单方便,只要取定节点就可写出插值简单方便,只要取定节点就可写出基函数,进而得到插值多项式,易于计算机实现基函数,进而得到插值多项式,易于计算机实现例例2.3 2.3 求过点(0,1)、(1,2)、(2,3)的三点插值多项式解解: 由Lagrange 插值公式212021012101200201021)()()(
17、)()()()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxP13) 12)(02 () 1)(0(2) 21)(01 () 2)(0(1) 20)(10 () 2)(1()(xxxxxxxxp(给定的三个点在一条直线上)25例例2.4 2.4 已知 用线性插值估计 在 时的截断误差.01100,121xx f xx115x 解解: : 由插值余项公式知 )()(21)(1xfxR 因为2341)( xxf)(81)(10231xxxxxR)121115)(100115(81)115(231R23121,100max)121115)(100115(81)121115)(100115
18、(1081301125. 0106158132627二二、Newton插值多项式插值多项式Lagrange 插值简单易用,但若要增加一个节点时,全部基函数插值简单易用,但若要增加一个节点时,全部基函数 lk(x) 都需重新都需重新计算,很不方便计算,很不方便 !设计一个可以逐次生成插值多项式的算法,即设计一个可以逐次生成插值多项式的算法,即 pn+1(x) = pn (x) + un+1 (x)其中其中 pn+1 (x) 和和 pn (x) 分别为分别为 n+1 次和次和 n 次插值多项式次插值多项式 Newton 插值法插值法l 为什么为什么 Newton 插值插值解决办法解决办法更换基函数
19、更换基函数28新的基函数设插值节点为设插值节点为 x0 , , xn ,考虑插值基函数组,考虑插值基函数组010201011( )1( )( )()()( )()()()nnxxxxxxxxxxxxxxxx l 优点:优点:当增加一个节点当增加一个节点 xn+1 时,只需加上基函数时,只需加上基函数 10()nniixx 29Newton 插值l 此时此时 f(x) 的的 n 次插值多项式为次插值多项式为10102010( )()()()()nnnkkpxaa xxaxxxxaxx 需要解决的问题需要解决的问题 如何从如何从 pn (x) 得到得到 pn+1(x) ? 怎样确定参数怎样确定参数
20、 a0 , , an ? 差商差商 (均差均差)30差商什么是差商什么是差商设函数设函数 f(x),节点,节点 x0 , , xn ()(),jiijjif xf xf x xxx f(x) 关于点关于点 xi , xj 的的一阶差商一阶差商,jkijijkkif xxf x xf x xxxx f(x) 关于点关于点 xi , xj , xk 的的二阶差商二阶差商101010,kkkkf xxf xxf xxxxx k 阶差商阶差商差商的一般定义差商的一般定义31差商的性质l 差商可以表示为函数值的线性组合:差商可以表示为函数值的线性组合:用归纳法可以证明用归纳法可以证明01001101()
21、,()()()()() ()kjkjjjjjjjkkjjkjf xf xxxxxxxxxxxf xx 差商与节点的排序无关,即差商具有差商与节点的排序无关,即差商具有对称性对称性0101,kkiiif xxxf xxx 其中其中 i0 , i1 , , ik 是是 0 , 1, , k 的一个任意排列的一个任意排列l 差商的等价定义:差商的等价定义:(其它教其它教材上的所采用的定义材上的所采用的定义)0200111,kkkkkkf xxf xxxf xxxxx 32差商的性质l k 阶差商与阶差商与 k 阶导数之间的关系:阶导数之间的关系:若若 f(x) 在在 a,b 上上 具有具有 k 阶导
22、数,则至少存在一点阶导数,则至少存在一点 (a, b),使得使得( )01( ),!kkff xxxk l 若若 h(x) = c f(x),则,则0101,kkh xxxcf xxxl 若若 h(x) = f(x) + g(x),则,则010101,kkkh xxxf xxxg xxx33差商表如何巧妙地计算差商如何巧妙地计算差商差商表差商表xi(xi)一阶一阶差商差商二阶差商二阶差商三阶差商三阶差商n 阶差商阶差商x0 x1x2x3 xn(x0)(x1)(x2)(x3) (xn)x0, x1x1, x2x2, x3 xn-1, xnx0, x1, x2x1, x2, x3 xn-2, xn
23、-1, xnx0, x1, x2, x3 xn-3, xn-2, xn-1, xnx0, x1, xn差商表差商表34差商举例例:例:已知已知 y = (x) 的函数值表,的函数值表,试计算其各阶差商试计算其各阶差商i0123xi-2-112f(xi)531721解:解:差商表如下差商表如下xi(xi)一阶差商一阶差商二阶差商二阶差商三阶差商三阶差商-2-112531721-2743-1-135Newton 插值公式什么是什么是 Newton 插值公式插值公式由差商的定义可得由差商的定义可得000( )()() ,f xf xxxf x x 1,)(,101100 xxxfxxxxfxxf 2
24、 ,.,)(,.,.,0010nnnnxxxfxxxxfxxxf n 11+ (x x0) 2+ + (x x0)(x xn 1) n 1.)(,)(,)()(102100100 xxxxxxxfxxxxfxfxf).(,.,100 nnxxxxxxf)().(,.,100nnnxxxxxxxxxf Nn(x)Rn(x)36Newton 插值公式 f (x) = Nn(x) + Rn(x) 10102011()()()( )()nniinaa xxaxxxxaxNxx 001 , . ,().()( )nnnnf x xxxRxxxxxx Nn(xi) = f (xi),i = 0, 1, 2
25、, , n重要性质重要性质Nn(x) 是是 f (x) 的的 n 次插值多项式次插值多项式nixxfaxfaii, 2 , 1 , ),(000 其中其中Nn(x) 是是 n 次多项式次多项式37Newton VS LagrangeNewton 插值与插值与 Lagrange 插值插值f (x) 在在 x0 , x1 , , xn 上上的的 n 次插值多项式是唯一的!次插值多项式是唯一的!Nn(x) Ln(x)且余项相同且余项相同(1)000()()()(1)!nnnxniiiiff x,x , .,xxxxxn (1)0()(1)!nxnff x,x , .,xn !)()(0kfx,.,x
26、fkk ,0!)()(0)()( nnnxxfnfq .!)()(0nfxxfnn , 所以所以0010( ) ( )()()()( )( ), ( )( ) , 1( )( )( ) , ( ), 1 , ,nnnnnq xf xxxxxxxxxf xNxq xxxq xa bnq xq xq xa bnqxa ba b另证:设, , ,在 , ,处均为零,所以在上有个零点,根据罗尔定理,在的两个零点间至少有一个零点,故在内至少有 个零点;反复应用罗尔定理,可知在内至少有个零点记为,使38 首先根据给定函数表造出均差表. 2.6 2.6 给出 的函数表(见表2-2),求4次牛顿插值多项式,并
27、由此计算 的近似值.例例39 从均差表看到4阶均差近似常数,5阶均差近似为0. 故取4次插值多项式 做近似即可. 于是 按牛顿插值公式,将数据代入40截断误差 这说明截断误差很小,可忽略不计. 41三三、Matlab函数函数42432 2 Hermite 插值在许多实际应用中,不仅要求在许多实际应用中,不仅要求函数值函数值相等,而且要求若干阶相等,而且要求若干阶导数导数也相等,也相等,如机翼设计等如机翼设计等为什么为什么 Hermite 插值插值( )( )p xf x (i = 0, 1, , n)()()iip xf x ()()iipxfx (2)(2)()()iipxfx ()()()
28、()mmiipxfx 满足满足函数值函数值相等且相等且导数导数也相等的插值方法称为也相等的插值方法称为 Hermite插值插值44重节点差商定理:定理:设设 f(x) Cna, b, x0 , , xn 为为 a, b 上的互异节点,上的互异节点,则则 fx0 , , xn 是其变量的连续函数是其变量的连续函数l 差商的一个性质差商的一个性质10100001010()(),lim,()xxf xf xf xxf xxfxxx 102000001201,lim,()2!xxxxf xxxf xx xfx0( )000101,lim,()!innxxf xxf xxxfxn一般地,一般地,n 阶重
29、节点差商定义为阶重节点差商定义为 重节点差商重节点差商45Taylor插值在在 Newton 插值公式中,令插值公式中,令 xi x0 , i = 1, , n, 则则10010011( )(),(),()nnniiNxf xf xxxxf xxxxx ( )00000()()()()()!nnfxf xfxxxxxn(1)10( )( )()(1)!nnnfRxxxn 余项余项l Taylor 插值就是在一个节点插值就是在一个节点 x0 上的上的 n 次次 Hermite 插值插值什么是什么是 Taylor 插值插值46Hermite 插值一般来说,给定一般来说,给定 m+1 个插值条件,就
30、可以构造出一个插值条件,就可以构造出一个个 m 次次 Hermite 插值多项式插值多项式 n 两个典型的两个典型的 Hermite 插值插值l 三点三次三点三次 Hermite 插值插值l 两点三次两点三次 Hermite 插值插值插值节点:插值节点:x0 , x1 , x2 插值条件:插值条件:p(xi) = f(xi),i = 0, 1, 2,p(x1) = f(x1)插值节点:插值节点:x0 , x1插值条件:插值条件:p(xi) = f(xi),p(xi) = f(xi) ,i = 0, 147三点三次Hermite 插值插值节点:插值节点:x0 , x1 , x2 插值条件:插值条
31、件:p(xi) = f(xi),i = 0, 1, 2,p(x1) = f(x1)三点三次三点三次 Hermite 插值插值可设可设000110010122( )(),() ,()() ()( )()p xf xf xxxxf xx xA xxxxxxxxxx 将将 p(x1) = f(x1) 代入可得代入可得101012101012(),()()()fxf xxf xx xxxAxxxx 48三点三次Hermite 插值由于由于 x0 , x1 , x2 是是 R(x) 的零点,且的零点,且 x1 是二重零点,故可设是二重零点,故可设2012( )()()()( )K xxxxxxxR xf
32、 xp x 与与 Lagrange 插值余项公式的推导过程类似,可得插值余项公式的推导过程类似,可得42012( )()() ()()( )4!xfR xxxxxxx 其中其中 x 位于位于 由由 x0 , x1 , x2 和和 x 所界定的区间所界定的区间 内内l 余项公式余项公式49插值举例例:例:函数函数 f(x) = x3/2,插值条件如下,插值条件如下试给出三次试给出三次Hermite插值多项式,并写出余项插值多项式,并写出余项xi(xi)一阶差一阶差商商二阶差二阶差商商1/419/41/8127/87/619/1011/30f(1/4) = 1/8,f(1) = 1,f(9/4)
33、= 27/8,f(1) = 3/2 解解:作差商表作差商表将将 p(1) = f(1) = 3/2 代入可得代入可得 A = -14/225171111( )()()(1)86430419 ()(1)()44p xxxxA xxx50插值举例(4)25/22( )( )( )( )19 ()(1) ()4!44919 ()(1) ()4! 1644R xf xp xfxxxxxx 32142632331( )22545045025p xxxx 余项余项51两点三次Hermite 插值插值节点:插值节点:x0 , x1 插值条件:插值条件:p(xi) = f(xi) = yi,p(xi) = f
34、(xi) = mi,i = 0, 1两两点三次点三次 Hermite 插值插值仿照仿照 Lagrange 多项式的思想,设多项式的思想,设300110011( )( )( )( )( )( )p xHxaxaxbxbx 其中其中 均为均为 3 次多项式,且满足次多项式,且满足0101( ),( ),( )xxx (), ()0, ()0, ()jijijijijijixxxxi, j= 0, 152两点三次Hermite 插值将将插值条件插值条件代入立即可得代入立即可得300110011( )( )( )( )( )Hxyxyxmxmx如何确定如何确定 0(x), 1(x), 0(x), 1(
35、x) 的表达式?的表达式? 0(x)0101()0, ()0 xx21001( )()xxxaxbxx 00000101()1, ()0, ()0, ()0 xxxx0000()1, ()0 xx100101010322, 1xxxabxxxxxx 53两点三次Hermite 插值20101001( )12xxxxxxxxx 同理可得同理可得20110110( )12xxxxxxxxx 相类似地,可以推出相类似地,可以推出 210001( )()xxxxxxx 201110( )()xxxxxxx 54两点三次Hermite 插值所以,满足插值条件所以,满足插值条件p(x0) = f(x0)
36、= y0,p(x0) = f(x0) = m0p(x1) = f(x1) = y1,p(x1) = f(x1) = m1的的三次三次 Hermite 插值多项式为插值多项式为 22001130110010110220100110110( )1212 xxxxxxxxHxyyxxxxxxxxxxxxmxxmxxxxxx 余项余项 2243 4)()(!)()(10)(xxxxfxRx01()xx,x 553 3 分段低次插值分段低次插值l 高次多项式插值的病态性质:高次多项式插值的病态性质:n 时时 Ln(x) 不一定收敛于不一定收敛于 f(x)为什么分段低次插值为什么分段低次插值插值多项式的次
37、数并非越高越好!插值多项式的次数并非越高越好!例:例:Runge 函数的等距节点插值多项式函数的等距节点插值多项式21( ), 5,51f xxx 105kkxn 56 -5 -4 -3 -2 -1 0 1 2 3 4 5 -0.5 0 0.5 1 1.5 2 2.5 57分段低次插值 用分段用分段低次多项式低次多项式函数来逼近原函数函数来逼近原函数 f(x)l 常见的分段低次插值常见的分段低次插值l 分段线性插值分段线性插值l 分段三次分段三次 Hermite 插值插值 每个小区间上用每个小区间上用线性多项式线性多项式来逼近来逼近 f(x) 每个小区间上用每个小区间上用三次三次 Hermit
38、e多项式多项式来逼近来逼近 f(x) l 分段低次插值分段低次插值58分段线性插值设设 a x0 x1 xn b 为为 a, b 上的互异节点上的互异节点f(x) 在这些节点上的函数值为在这些节点上的函数值为 y0 , y1 , , yn记记 , 求分段函数求分段函数 Ih(x) 满足满足 1kkkhxx maxkkhh Ih(x) 在每个小区间在每个小区间 xk, xk+1 上是线性函数上是线性函数() , hIxC a b 0, 1, (), ,hkkknIxy 分段线性插值分段线性插值59分段线性插值1111( )kkhkkkkkkxxxxIxyyxxxx 由以上条件直接可得由以上条件直
39、接可得 Ih(x) 在小区间在小区间 xk, xk+1 上的表达式上的表达式x xk, xk+1, k = 0, 1, , n-160误差估计( )221()( )( )()()2!24kxkhkkfhMf xIxxxxx 在小区间在小区间 xk, xk+1 上有上有2max( )a x bMfx ( )221()( )( )( )max()()2!8kxhkkkfMR xf xIxxxxxh ( )( )( )0hR xf xIx 当当 h 0 时,时,Ih(x) 在在 a, b 上上 一致收敛一致收敛 到到 f(x) 分段线性插值的缺点:分段线性插值的缺点: Ih(x) 在节点在节点不可导
40、不可导l 误差估计误差估计61分段三次Hermite插值设设 a x0 x1 xn b 为为 a, b 上的互异节点上的互异节点 yk f(xk) , mk f(xk) , k = 0, 1, , n 求分段函数求分段函数 Ih(x) 满足满足 Ih(x) 在每个小区间在每个小区间 xk, xk+1 上是三次多项式上是三次多项式1() , hIxCa b 0, 1(), , (), , hkkhkkIxyIxmkn 分段三次分段三次 Hermite 插值插值62分段三次Hermite插值由以上条件直接可得由以上条件直接可得 Ih(x) 在小区间在小区间 xk, xk+1 上的表达式上的表达式x
41、 xk, xk+1, k = 0, 1, , n-1 2211111112211111( )1212 kkkkhkkkkkkkkkkkkkkkkkkkkxxxxxxxxIxyyxxxxxxxxxxxxmxxmxxxxxx l 误差估计误差估计44( )( )( )384hMR xf xIxh(4)2101max( ) , max ()kka x bk nMfxhxx 63插值举例例:例:函数函数 ,插值区间,插值区间 -5, 5,取等距节点(将插值区间,取等距节点(将插值区间10等等分),试分别用分段线性插值和分段三次分),试分别用分段线性插值和分段三次Hermite插值画出插值画出 f(x)
42、 的近似图像。的近似图像。21( )1f xx 64下图是用Matlab完成的分段线性插值(附程序):65附:分段线性插值程序n=11; m=61;x=-5:10/(m-1):5;y=1./(1+x.2);z=0*x;x0=-5:10/(n-1):5;y0=1./(1+x0.2);y1=interp1(x0, y0, x);plot(x, z, r, x, y, k:, x, y1, r)gtext(Piece. linear.), gtext(y=1/(1+x2)title(Piecewise Linear)注:interp1(x0,y0,x)为Matlab中现成的分段线性插值程序.例例2.
43、8 2.8 已知 在四个节点上的函数值如下表所示 ix)(ixf 30 45 60 902122231求 在区间 上的分段连续线性插值函数 解解 将插值区间 分成连续的三个小区间 则 在区间 上的线性插值为 2233012)()()(10100101xxfxxxxxfxxxxxS( )f x( )f x30,90( )S x30,9030,45 45,60 60,9030,45( )f x66 在区间45,60上的线性插值为 323223023)()()(21211212xxfxxxxxfxxxxxS 在区间60,90上的线性插值为 22336032)()()(32322323xxfxxxxx
44、fxxxxxS( )f x( )f x67将各小区间的线性插值函数连接在一起,得 906022336032604532322302345302233012)(xxxxxxxS6869分段插值注记l 分段三次分段三次 Hermite 插值比分段线性插值效果更好插值比分段线性插值效果更好l 但公式较复杂,且需要额外信息(导数)但公式较复杂,且需要额外信息(导数)基本思想:基本思想:用分段低次多项式来代替单个多项式用分段低次多项式来代替单个多项式具体作法:具体作法:优点:优点:公式简单公式简单、 运算量小运算量小、稳定性好、收敛性稳定性好、收敛性 (1) 把整个插值区间分割成多个小区间把整个插值区间
45、分割成多个小区间(2) 在每个小区间上作低次插值多项式在每个小区间上作低次插值多项式(3) 将所有插值多项式拼接成一个多项式将所有插值多项式拼接成一个多项式三次样条三次样条插值插值 我们知道,给定n+1个节点上的函数值可以作n次插值多项式,但当n较大时,高次插值不仅计算复杂,而且可能出现Runge现象,采用分段插值虽然计算简单、也有一致收敛性,但不能保证整条曲线在连接点处的光滑性,如分段线性插值,其图形是锯齿形的折线,虽然连续,但处处都是“尖点”,因而一阶导数都不存在,这在实用上,往往不能满足某些工程技术的高精度要求。如在船体、飞机等外形曲线的设计中,不仅要求曲线连续,而且要有二阶光滑度,即有
46、连续的二阶导数。这就要求分段插值函数在整个区间上具有连续的二阶导数。因此有必要寻求一种新的插值方法,这就是样条函数插值法 7071三次样条插值 即二阶连续可导即二阶连续可导 插值条件:插值条件: S(xk) = f(xk) = yk 在每个小区间在每个小区间 xk, xk+1 上是三次多项式上是三次多项式给定插值节点给定插值节点 x0 , x1 , , xn a, b 及函数值及函数值 f(xk) = yk , k = 0, 1, 2, , n求一个定义在求一个定义在 a, b 上的插值函数上的插值函数 S(x),满足:,满足:三次样条插值三次样条插值2() , hIxCa b 72三次样条插
47、值定义:定义:设插值节点为设插值节点为 a = x0 x1 xn-1 xn = b 若函数若函数 S(x) C2a,b,且,且在每个小区间在每个小区间 xk , xk+1上是上是三次多项式,则称其为三次多项式,则称其为三次样条函数三次样条函数如果同时还满足如果同时还满足 S(xk) = f(xk) = yk , k = 0, 1, 2, , n 则称则称 S(x) 为为 f (x) 在在 a , b 上的上的三次样条插值函数三次样条插值函数73三次样条插值S(x) 满足:满足: S(x) C2a,b; 在在 xk , xk+1 是三次多项式是三次多项式 S(xk) = yk , k = 0,
48、1, 2, , n00111211( ), , ( ), , ( ) ( ), ,nnnsxxxxs xxx xS xsxxxx 其中其中 sk(x) 为为 xk, xk+1 上的三次多上的三次多项式,且满足项式,且满足sk(xk) = yk , sk(xk+1) = yk+1 k = 0, 1, , n-1怎样计算三次样条插值函数怎样计算三次样条插值函数74边界条件每个每个 sk(x) 均为三次多项式,有均为三次多项式,有 4 个待定系数,所以共有个待定系数,所以共有 4n 个待定系数,故需个待定系数,故需 4n 个方程。前面已经得到个方程。前面已经得到 2n +2(n-1) = 4n-2
49、个方程,还缺个方程,还缺 2 个方程!个方程!2( ) , S xC a b l 实际问题通常对样条函数在两个端点处的状态有要求,即所谓的实际问题通常对样条函数在两个端点处的状态有要求,即所谓的 边界条件边界条件()(), ()()kkkkSxSxSxSx( k = 1, 2, , n-1)11()(),()()kkkkkkkksxsxsxsx75常用的边界条件l 第一类边界条件:第一类边界条件:给定函数在端点处的给定函数在端点处的一阶导数一阶导数,即,即00() ()nnS xf , S xf l 第二类边界条件:第二类边界条件:给定函数在端点处的给定函数在端点处的二阶导数二阶导数,即,即0
50、0() ()nnS xf , S xf 当当 时,称为时,称为自然边界条件自然边界条件,此时的样条函数称为,此时的样条函数称为自然样条自然样条函数函数l 第三类边界条件:第三类边界条件:若若 f (x) 是周期函数,且是周期函数,且 xn x0 是一是一个周期,于是要求个周期,于是要求 S(x) 也是周期函数也是周期函数, 即满足即满足000()(),()()()()nnn S xS x, S xS xS x S x 00nff = 76三次样条函数的计算设设 S”(xk) = Mk, k = 0, 1, 2, , n由于由于 sk(x) 是三次多项式,故是三次多项式,故 sk”(x) 为线性