您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 插值法(拉格朗日插值)
•问题的提出•拉格朗日插值•牛顿插值•埃尔米特插值•曲线拟合的最小二乘法第三章插值法/*Interpolation*/§1问题的提出函数y=f(x)1)解析式未知;2)虽有解析式但表达式较复杂,通过实验计算得到的一组数据,即在某个区间[a,b]上给出一系列点的函数值yi=f(xi),xx0x1x2……xny=f(x)y0y1y2……yn3)列表函数问题:无法求出不在表中的点的函数值,也不能进一步研究函数的其他性质,如函数的积分和导数等。因此需寻找y=f(x)的近似函数p(x),但要求p(xi)=f(xi)。——插值问题已知精确函数y=f(x)在一系列节点x0…xn处测得函数值y0=f(x0),…yn=f(xn),由此构造一个简单易算的近似函数p(x)f(x),满足条件p(xi)=f(xi)(i=0,…n)。这里的p(x)称为f(x)的插值函数。最常用的插值函数是…?多项式x0x1x2x3x4xp(x)f(x)§1.1Taylor插值函数y=f(x)在点x0处展开有Taylor多项式:20000'0)(!2)(''))(()()(xxxfxxxfxfxpnnnxxnxf)(!)(...00)(可见:Pn(k)(x0)=f(k)(x0)k=0,1,…,n因此,Pn(x)在点x0邻近会很好的逼近f(x).Taylor展开方法就是一种插值方法.泰勒插值要求提供f(x)在点x0处的各阶导数,这仅仅适用于f(x)相当简单的情况.•设函数y=f(x)在区间[a,b]上有定义,且给出一系列点上的函数值yi=f(xi)(i=0,1,2,…,n),求作n次多项式pn(x)使得pn(xi)=yi(i=0,1,2,…,n)函数pn(x)为f(x)的插值函数;称x0,x1,…xn称为插值节点或简称节点。插值节点所界的区间[a,b]称为插值区间。pn(xi)=yi称为插值条件。构造的n次多项式可表示为:Pn(x)=a0+a1x+a2x2+…+anxn§1.2Lagrange插值定理(插值多项式的存在唯一性)满足的n阶插值多项式是唯一存在的。niyxPii,...,0,)(证明:(利用Vandermonde行列式论证)nnnnnnnnnyxaxaayxaxaayxaxaa............101111000010这是一个关于a0,a1,…an的n+1元线性方程组,其系数行列式:10110)(),...,,(ijjininnxxxxxV由于i≠j时,xi≠xj,因此,即方程组有唯一解.0),...,,(10nnxxxV§2拉格朗日插值公式niyxPiin,...,0,)(求n次多项式使得nnnxaxaaxP10)(条件:无重合节点,即jixxjin=1已知x0,x1;y0,y1,求xaaxP101)(使得111001)(,)(yxPyxP可见P1(x)是过(x0,y0)和(x1,y1)两点的直线。)()(0010101xxxxyyyxP101xxxx010xxxx=y0+y1l0(x)l1(x)10)(iiiyxl称为拉氏基函数直线方程的两点式:线性插值101001011)(yxxxxyxxxxxLl0(x)l1(x)10)(iiiyxlL1(x)抛物插值2120210121012002010212))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxLl0(x)l1(x)l2(x)n1li(x)每个li有n个根x0…xi…xnnjjijiniiixxCxxxxxxCxl00)())...()...(()(jijiiiixxCxl)(11)(njijjijixxxxxl0)()()(niiinyxlxL0)()(N次拉格朗日插值多项式与有关,而与无关节点f希望找到li(x),i=0,…,n使得li(xj)=;然后令niiinyxlxP0)()(,则显然有Pn(xi)=yi。01jijin次多项式插值余项/*Remainder*/设节点)1(nf在[a,b]内存在,考察截断误差)()()(xLxfxRnn],[baCfnbxxxan10,且f满足条件,用简单的插值函数Ln(x)代替原复杂函数f(x),其精度取决于截断误差,即插值余项.)())()(()!1()()(210)1(nnnxxxxxxxxnfxR即niinnxxnfxR0)1()(!)1()()(],[ba其中——拉格朗日余项定理注:通常不能确定,而是估计,x(a,b)将作为误差估计上限。1)1()(nnMxfniinxxnM01||)!1(当f(x)为任一个次数n的多项式时,,可知,即插值多项式对于次数n的多项式是精确的。0)()1(xfn0)(xRn例:已知233sin,214sin,216sin分别利用sinx的1次、2次Lagrange插值计算sin50并估计误差。解:0x1x2x185500n=1分别利用x0,x1以及x1,x2计算4,610xx利用216/4/6/214/6/4/)(1xxxL这里)3,6(,sin)(,sin)()2(xxxfxxf而)4)(6(!2)()(,23sin21)2(1xxfxRxx00762.0)185(01319.01Rsin50=0.7660444…)185(50sin10L0.77614外推/*extrapolation*/的实际误差0.010013,421xx利用sin500.76008,00660.0185~00538.01R内插/*interpolation*/的实际误差0.00596内插通常优于外推。选择要计算的x所在的区间的端点,插值效果较好。n=223))(())((21))(())((21))(())(()(4363463464363646342xxxxxxxL)185(50sin20L0.7654323cos21;)3)(4)(6(!3cos)(2xxxxxxR00077.018500044.02Rsin50=0.7660444…2次插值的实际误差0.00061高次插值通常优于低次插值但绝对不是次数越高就越好,嘿嘿……ininjijjijnyxxxxxL))()(()(00•拉格朗日插值多项式编程容易,只需双重循环•如果发现当前的插值方法不够精确,就要增加插值点的个数,则拉格朗日插值基函数li(x)都将重新计算。•牛顿插值法将讨论该问题。例:已知数据表xk10111213f(xk)2.30262.39792.48492.5649试用二次插值计算f(11.75)(计算过程保留4位小数).解:因为11.75更接近12,故应取11,12,13三点作二次插值.先作插值基函数.已知x0=11,y0=2.3979,x1=12,y0=2.4849,x2=13,y2=2.56492)13)(12())(())(()(2010210xxxxxxxxxxxl1)13)(11())(())(()(2101201xxxxxxxxxxxl2)12)(11())(())(()(1202102xxxxxxxxxxxlL2(x)=9484.21)13)(11(9397.22)13)(12(xxxx9564.22)12)(11(xxf(11.75)L2(11.75)=9484.21)135.11)(1175.11(9397.22)1375.11)(1275.11(82.4639564.22)1275.11)(1175.11(例已知x=1,4,9的平方根值,用拉格朗日插值公式求71/2解:x0=1,x1=4,x2=9f(x0)=1,f(x1)=2,f(x2)=3L2(7)=(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.7(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)=
本文标题:插值法(拉格朗日插值)
链接地址:https://www.777doc.com/doc-6978159 .html