2020/2/291第二章插值法2020/2/292第二章插值法2.1引言§2.2拉格朗日插值§2.3差商与牛顿插值公式§2.4差分与等距节点插值§2.5埃尔米特插值§2.6分段低次插值§2.7三次样条插值§2020/2/293本章要点用简单的函数(如多项式函数)作为一个复杂函数的近似,最简单实用的方法就是插值.本章主要介绍有关插值法的一些基本概念,及多项式插值的基础理论和几个常用的插值方法:拉格朗日插值、分段线性插值、牛顿插值、埃尔米特插值和三次样条插值.2020/2/2942.1引言§且不利于在计算机上其函数形式可能很复杂对函数,),(xf个不同的点上的一组在区间可以获得量假如可以通过实验或测运算1],[)(,,nbaxfbxxxxan210nixfyii,,2,1,0),(上的函数值能否存在一个性能优良、便于计算的函数满足比如多项式函数),(xP一、插值问题2020/2/295niyxPii,,2,1,0)()()(xfxP近似代替并且用这就是插值问题,上式为插值条件的插值函数为函数称函数)()(xfxP则称之为插值多项式为多项式函数如果,)(xP称为插值节点点,,,2,1,0,nixi称为插值区间区间],[ba个等分点上若给定如函数5],0[,sinxy其插值函数的图象如下图2020/2/29600.511.522.533.500.10.20.30.40.50.60.70.80.91sinx的的的xy00.511.522.533.500.10.20.30.40.50.60.70.80.91sinx的的的xy00.511.522.533.500.10.20.30.40.50.60.70.80.91sinx的的的xy00.511.522.533.500.10.20.30.40.50.60.70.80.91sinx的的的xy)()(xPxf和插值函数对于被插函数处的函数值必然相等在节点ix)()(xfxP的值可能就会偏离但在节点外必然存在着误差近似代替因此)()(xfxP二、代数插值多项式的存在唯一性整体误差的大小反映了插值函数的好坏为了使插值函数更方便在计算机上运算,一般插值函数都使用代数多项式和有理函数本章讨论的就是代数插值多项式上的代数插值多项式为在区间设函数],[)(baxfynnnxaxaxaaxP2210)(且满足niyxPiin,,2,1,0)(--------(2)--------(3)72020/2/29满足线性方程组的系数即多项式nnaaaaxP,,,,)(21000202010yxaxaxaann11212110yxaxaxaannnnnnnnyxaxaxaa2210--------(4)上述方程组的系数行列式为n+1阶Vandermond行列式nnnnnnxxxxxxxxxV212110200111101)(ninijijxxjixx082020/2/29定理1.由Cramer法则,线性方程组(4)有唯一解nnnxaxaxaaxP2210)(niyxPiin,,2,1,0)(--------(2)--------(3)),(jixxji若插值节点则满足插值条件的插值多项式存在且唯一.虽然线性方程组(4)推出的插值多项式存在且唯一但通过解线性方程组(4)求插值多项式却不是好方法92020/2/292020/2/2910三、插值法的类型上的代数插值多项式为在区间设函数],[)(baxfynnnxaxaxaaxP2210)(且满足niyxPiin,,2,1,0)(其中为实数,就称P(x)为插值多项式,相应的插值法称为多项式插值;若P(x)为分段的多项式,就称为分段插值;若P(x)为三角多项式,就称为三角插值。ia本章只讨论多项式插值与分段插值2020/2/29112.2拉格朗日插值§•此插值问题可表述为如下:•问题求作次数多项式,使满足条件•这就是所谓的拉格朗日(Lagrange)插值。n),,1,0(,niyxLiin)(xLn拉格朗日(Lagrange)插值公式(以下统称为Lagrange插值公式)的基本思想是,把pn(x)的构造问题转化为n+1个插值基函数li(x)(i=0,1,…,n)的构造。2020/2/29122020/2/2913问题已知函数y=f(x)在点x0,x1上的值为y0,y1,求作一次式,使满足条件其几何意义,就是通过两点的一条直线。2.2.1线性插值与抛物插值§111001)(,)(yxLyxL),(),,(1100yxByxA一、线性插值—点斜式)(1xL2020/2/2914L12020/2/2915由直线两点式可知,通过A,B的直线方程为称为线性插值(n=1的情况),分为内插与外推。)()(1001010xLxxxxyyyy适用情况:||01xx很小时2020/2/2916)()()11001xlyxly(xL也可表示为如下对称形式:其中,0101)(xxxxxl1010xxxx(x)l显然,;)(xl,)(xl;)(xl,)(xl010101111000为线性插值基函数及函数1`0(x)l(x)l2020/2/2917线性插值举例例1:已知,,求代入点斜式插值多项式得y=10.71428精确值为10.723805,故这个结果有3位有效数字。1010011121115y)()(0010101xxxxyyyxL2020/2/2918问题求作二次式,使满足条件二次插值的几何解释是用通过三个点的抛物线来近似考察曲线,故称为拋物插值。类似于线性插值,构造基函数,要求满足下式:)(2xL二、抛物插值)1,,1()(2kkkjyxLjj)()()()11kk112xlyxlyxly(xLkkkk2020/2/29192020/2/2920x0=100,x1=121,x2=144f(x0)=10,f(x1)=11,f(x2)=12(121–100)(121–144)L2(115)=(100–121)(100–144)(115–121)(115–144)*10+(115–100)(115–144)*11+(144–100)(144–121)(115–100)(115–121)*12=10.7228抛物插值举例2(x0–x1)(x0–x2)(x–x1)(x–x2)f(x0)+(x1–x0)(x1–x2)(x–x0)(x–x2)f(x1)+(x2–x0)(x2–x1)(x–x0)(x–x1)f(x2)L2(x)=和用线性插值相比,有效数字增加一位2020/2/2921为了构造,我们先定义n次插值基函数。)(xLn2.2.2拉格朗日n次插值多项式定义:若n次多项式),1,0()(nixli在n+1个节点nxxx10上满足条件。基函式数次插值上的为节点)(,),(),(次多项个1就称这1010n,x,,xxxlxlxlnnnn2020/2/2922)())(())(()())(())(()(11101110nkkkkkkknkkkxxxxxxxxxxxxxxxxxxxxxlnkiiikixxxx0)()(),,2,1,0(nk)())((10nxxxxxx(x)ωn1令)(xωkn1则)())(())((1110nkkkkkkkxxxxxxxxxxn+1次多项式对n=1及n=2时的情况前面已经讨论,用类似的推导方法,可得到n次插值基函数为:2020/2/2923)())(())(()())(())(()(11101110nkkkkkkknkkkxxxxxxxxxxxxxxxxxxxxxl),,2,1,0(nk且)(xLnnkknknkxxxxy0'11)()()()()()(11knknxxxx从而2020/2/2924为记为项式为插值基函数的插值多以上在节点于是))((),,1,0()(,),,1,0()(,xLnixlnixxfyniiininijjjijnnnyxxxxxlyxlyxlyxL001100)()()()()()(总结称)(xLn为y=f(x)的拉格朗日插值多项式称),,1,0)((nixli为n次拉格朗日插值基函数2020/2/2925例3:求过点(2,0)(4,3)(6,5)(8,4)(10,1)的拉格朗日插值多项式。2020/2/29262020/2/29272020/2/29282020/2/29292.2.3插值余项与误差估计§一、插值余项插值的从上节可知Lagrangexfy)(,niiinxlyxL0)()(满足nixfxLiin,,1,0)()(],[bax但)()(xfxLn不会完全成立因此,插值多项式存在着截断误差,那么我们怎样估计这个截断误差呢?2020/2/2930)(xLn)(xRn)()!1()(1)1(xnfnn,)()(01niinxxx其中.,),(xba且依赖于2020/2/2931)()()(xLxfxRnn令上显然在插值节点为),,1,0(nixi)()()(iniinxLxfxRni,,1,0,0个零点上至少有在因此1],[)(nbaxRn)()()(1xxKxRnn设)())(()(101nnxxxxxxx为待定函数)(xK其中)()()()()(1xxKxLxfxRnnn证明:假设在区间[a,b]上f(x)的插值多项式为)(xLn2020/2/2932)()()()(1xxKxLxfnn0)(x则有0的区分与注意xt)(ix且)()()(1ininxxKxR0即个零点上至少有在区间若令因此,2],[)(,,nbatxxi,0)(xni,,1,0nixi,,2,1,0,0)()()()()(1xxKxLxfnn)()()()(1ininixxKxLxf)()()()()(1txKtLtftnn若引入辅助函数)()()()()(11xtRtxRtnn也可令也可微则可微因此若为多项式和由于)(,)(,)()(1txfxxPnn2020/2/2933根据Rolle定理,个零点上有至少在区间1),()(nbat再由Rolle定理,个零点上有至少在区间nbat),()(依此类推阶导数为零的使得内至少有一个点在区间1)(,),(ntba0)()1(n)()1(tn)()()()()1(1)1()1(txKtLtfnnnnn由于)()()()()(1txKtPtftnn2020/2/2934)!1()()()1(nfxKn)()()(1xxKxRnn)()!1()(1)1(xnfnn所以)()()(截断误差的余项为插值多项式称xLxRnn)()()()()()1(1)1()1()1(nnnnnnxKLf因此)!1()()()1(nxKfn02020/2/2935|)(|xRn则)()!1()(1)1(xnfnn)()!1(11xnMnn注意:(1)余项表达式只有在f(x)的高阶导数存在时才能应用。(2)在ba,内的具体位置通常不可能给出,所以,设)()1(1maxxfMnbxan例1:已测得某地大气压强随高度变化的一组数据高度(m)0100300100015002000.压强(kg