函数解析式未知,通过实验观测得到的一组数据,即在某个区间[a,b]上给出一系列点的函数值yi=f(xi)或者给出函数表y=f(x)y=p(x)xx0x1x2……xnyy0y1y2……yn第2章插值法§2.1引言问题的提出设函数y=f(x)定义在区间[a,b]上,是[a,b]上取定的n+1个互异节点,且在这些点处的函数值为已知,即若存在一个f(x)的近似函数,满足则称为f(x)的一个插值函数,f(x)为被插函数,点xi为插值节点,称(2.1)式为插值条件,而误差函数R(x)=称为插值余项,区间[a,b]称为插值区间,插值点在插值区间内的称为内插,否则称外插。nxxx,,,10)(,),(),(10nxfxfxf)(iixfy)(x),,2,1()()(nixfxii)(x(2.1))()(xxf插值法的基本原理插值函数在n+1个互异插值节点(i=0,1,…,n)处与相等,在其它点x就用的值作为f(x)的近似值。这一过程称为插值,点x称为插值点。换句话说,插值就是根据被插函数给出的函数表“插出”所要点的函数值。用的值作为f(x)的近似值,不仅希望能较好地逼近f(x),而且还希望它计算简单。由于代数多项式具有数值计算和理论分析方便的优点。所以本章主要介绍代数插值,即求一个次数不超过n次的多项式:)(xix)(ixf)(x)(x)(x0111)(axaxaxaxPnnnn0111)(axaxaxaxPnnnn满足),,2,1,0()()(nixfxPii则称P(x)为f(x)的n次插值多项式。这种插值法通常称为代数插值法。其几何意义如下图所示yy=P(x)y=f(x)y1ynx0x1xnx定理1n次代数插值问题的解是存在且惟一的。证明:设n次多项式0111)(axaxaxaxPnnnn是函数在区间[a,b]上的n+1个互异的节点(i=0,1,2,…,n)上的插值多项式,则求插值多项式P(x)的问题就归结为求它的系数(i=0,1,2,…,n)。)(xfyixia由插值条件:(i=0,1,2,…,n),可得)()(iixfxp)()()(01111011111100011010nnnnnnnnnnnnnnnnxfaxaxaxaxfaxaxaxaxfaxaxaxa这是一个关于待定参数的n+1阶线性方程组,其系数矩阵行列式为naaa,,,10niijjinnnnnnxxxxxxxxxxxV110212110200)(111称为Vandermonde(范德蒙)行列式,因xi≠xj(当i≠j),故V≠0。根据解线性方程组的克莱姆(Gramer)法则,方程组的解存在惟一,从而P(x)被惟一确定。naaa,,,10惟一性说明,不论用何种方法来构造,也不论用何种形式来表示插值多项式,只要满足插值条件(2.1)其结果都是相互恒等的。为了构造满足插值条件(i=0,1,2,…,n)的便于使用的插值多项式P(x),先考察几种简单情形,然后再推广到一般形式。(线性插值与抛物插值))()(iixfxp(1)线性插值线性插值是代数插值的最简单形式。假设给定了函数f(x)在两个互异的点的值,现要求用线性函数近似地代替f(x)。选择参数a和b,使。称这样的线性函数P(x)为f(x)的线性插值函数。10,xx)(),(1100xfyxfybaxxp)()1,0)(()(ixfxpii§2.2拉格朗日(Lagrange)插值用通过点和的直线近似地代替曲线y=f(x)由解析几何知道,这条直线用点斜式表示为))(,(00xfxA))(,(11xfxB)()(001010xxxxyyyxp10100101)(yxxxxyxxxxxp01011010)(,)(xxxxxlxxxxxl为了便于推广,记0)(,1)(1000xlxl1)(,0)(1101xlxl1)()(10xlxl这是一次函数,且有性质y=f(x)p(x)=ax+bA(x.0,f(x.0))B(x.1,f(x.1))线性插值的几何意义:)(0)(1)(kikixlkiik与称为线性插值基函数,且有。)(0xl)(1xl1,0,)(10kxxxxxlkjjjkjk于是线性插值函数可以表示为基函数的线性组合1100)()()(yxlyxlxp例2.1已知,,求。1010011121115y解:这里x0=100,y0=10,x1=121,y1=11,利用线性插值1110012110010121100121)(xxxp714.10)115(115py设已知f(x)在三个互异点x0,x1,x2的函数值y0,y1,y2,要构造次数不超过二次的多项式使满足二次插值条件:这就是二次插值问题。其几何意义是用经过3个点的抛物线近似代替曲线,如下图所示。因此也称之为抛物插值。0122)(axaxaxP)2,1,0()(iyxPii),(),,(),,(221100yxyxyx)(xPy)(xfy(2)抛物插值抛物插值又称二次插值,它也是常用的代数插值之一。yy=L2(x)y0y1y1y=f(x)Ox0x1x2xP(x)的参数直接由插值条件决定,即满足下面的代数方程组:210,,aaa210,,aaa222221012121100202010yxaxaayxaxaayxaxaa222211200111xxxxxx该三元一次方程组的系数矩阵的行列式是范德蒙行列式,当时,方程组的解唯一。210xxx求二次式,使其满足条件:)(0xl0)(,0)(,1)(201000xlxlxl这个问题容易求解。由上式的后两个条件知:是的两个零点。于是21,xx)(0xl))(()(210xxxxcxl再由另一条件确定系数1)(00xl))((12010xxxxc))(())(()(2010210xxxxxxxxxl从而导出为了与下一节的Lagrange插值公式比较,仿线性插值,用基函数的方法求解方程组。先考察一个特殊的二次插值问题:类似地可以构造出满足条件:的插值多项式0)(,0)(,1)(210111xlxlxl))(())(()(2101201xxxxxxxxxl及满足条件:的插值多项式0)(,0)(,1)(120222xlxlxl))(())(()(1202102xxxxxxxxxl这样构造出来的称为抛物插值的基函数。)(),(),(210xlxlxl取已知数据作为线性组合系数,将基函数线性组合可得210,,yyy)(),(),(210xlxlxl212021012101200201021))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxP容易看出,P(x)满足条件)2,1,0()(iyxPii两个插值点可求出一次插值多项式,而三个插值点可求出二次插值多项式。插值点增加到n+1个时,也就是通过n+1个不同的已知点,来构造一个次数为n的代数多项式P(x)。与推导抛物插值的基函数类似,先构造一个特殊n次多项式的插值问题,使其在各节点上满足),,1,0)(,(niyxii)(xliix0)(,,0)(,1)(,0)(,,0)(110nkkkkkkkkxlxlxlxlxl)(0)(1)(kikixlkiik即由条件()知,都是n次的零点,故可设0)(ikxlkinkkxxxxx,,,,,,1110)(xlk拉格朗日插值多项式)())(())(()(1110nkkkkxxxxxxxxxxAxl其中为待定常数。由条件,可求得。kA1)(kkxlkA1)(0nkjjjkkxxA于是nkjjjkkxxA0)(1代入上式,得nkjjjkjnkjjjknkjjjkxxxxxxxxxl000)()()(称为关于基点的n次插值基函数(i=0,1,…,n)。)(xlkix以n+1个n次基本插值多项式为基础,就能直接写出满足插值条件的n次代数插值多项式事实上,由于每个插值基函数都是n次值多项式,所以它们的线性组合),,1,0)((nkxlk),,2,1,0()()(nixfxPiinnyxlyxlyxlxP)()()()(1100),,1,0)((nkxlknkkkyxlxP0)()(是次数不超过n次的多项式,称形如(2.8)式的插值多项式为n次拉格朗日插值多项式。并记为(2.8))(xLn(2.10))())(()(101nnxxxxxxx引入记号)())(()()(1101nkkkkkkknxxxxxxxxx则得(2.11))()()()(011nkknknknxxxxyxL于是例2.2已知y=f(x)的函数表求线性插值多项式,并计算x=1.5的值。x13y1225.1)5.1()5.1()1(2121311313)(10100101pfxxxyxxxxyxxxxxp解:由线性插值多项式公式得例2.3已知x=1,4,9的平方根值,用抛物插值公式,求。7(x0–x1)(x0–x2)(x–x1)(x–x2)y0+(x1–x0)(x1–x2)(x–x0)(x–x2)y1+(x2–x0)(x2–x1)(x–x0)(x–x1)y2p2(7)=x0=1,x1=4,x2=9y0=1,y1=2,y2=3(1–4)(1–9)(7–4)(7–9)*1+(4–1)(4–9)(7–1)(7–9)*2+(9–1)(9–4)(7–1)(7–4)*3=2.7p2(x)=解:例2.4已知函数y=f(x)在节点上满足xx0x1x2yy0y1y2求二次多项式p(x)=a0+a1x+a2x2使之满足p(xi)=yi(i=0,1,2)。解上述方程,将求出的a0,a1,a2代入p(x)=a0+a1x+a2x2即得所求二次多项式。201202012120122aaxaxyaaxaxyaaxaxy解:用待定系数法,将各节点值依次代入所求多项式,得例2.5求过点(0,1)、(1,2)、(2,3)的三点插值多项式。13)12)(02()1)(0(2)21)(01()2)(0(1)20)(10()2)(1()(xxxxxxxxp解:由Lagrange插值公式(给定的三个点在一条直线上)212021012101200201021))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxP例2.6已知f(x)的观测数据x0124f(x)19233构造Lagrange插值多项式。解:四个点可构造三次Lagrange插值多项式:基函数为1478781)40)(20)(10()4)(2)(1()(230xxxxxxxlxxxxxxxl38231)41)(21)(01()4)(2)(0()(231xxxxxxxl2324541)42)(12)(02()4)(1)(0()(xxxxxxxl12181241)24)(14)(04()2)(1)(0()(233Lagrange插值多项式为)()(303xlyxLkkk)(3)(23)(9)(3210xlxlxlxl12144541123xxx为便于上机计算,常将拉格朗日插值多项式(