1、第六章第六章 函数插值函数插值本章主要讨论问题:1、函数插值基本方法2、插值误差分析第1页已经测得在某处海洋不一样深度处水温以下:深度(M)466 741 950 1422 1634水温(oC)7.04 4.28 3.40 2.54 2.13依据这些数据,希望合理地预计出其它深度(如500米,600米,1000米)处水温6.1 插值插值举例这就是本章要讨论“插值问题”。函数插值也就是对函数离散数据建立简单数学模型。第2页 Def:当准确函数 y=f(x)非常复杂或未知时,在区间a,b上一系列互异节点 x0,x1,x n 处测得函数值 y0=f(x0),yn=f(xn),由此结构一个简单易算近似
2、函数 g(x)f(x),满足条件 g(xi)=f(xi)(i=0,n)(*)这个问题称为“插值问题插值问题”插值问题定义这里这里 g(x)称为称为f(x)插值函数插值函数。节点节点 x0 xn称为插值节点称为插值节点,f(x)称为被称为被插函数,插函数,条件条件(*)称为称为插值条件插值条件,区间区间a,b称为称为插值区间插值区间第3页x0 x1x2x3x4 xf(x)g(x)第4页最惯用插值函数是最惯用插值函数是?代数多项式代数多项式用代数多项式作插值函数插值称为用代数多项式作插值函数插值称为代数插值代数插值本章主要讨论内容本章主要讨论内容插值函数类型有很各种插值函数类型有很各种插值问题插值
3、问题插值法插值法插值函数插值函数第5页一、插值问题解存在唯一性?二、插值多项式惯用结构方法?三、插值函数误差怎样预计?代数插值代数插值第6页一一 代数插值问题解存在惟一性代数插值问题解存在惟一性 给定区间给定区间a,b上互异上互异n+1个点个点 一一 组函数值组函数值 ,求一个次数不超出求一个次数不超出 n 多项式多项式 ,使得使得 定理定理1:满足插值条件(满足插值条件(1)插值多项式()插值多项式(2)是存在唯)是存在唯一。一。令令只要证实只要证实 Pn(x)系数系数 存在唯一即可存在唯一即可第7页证:证:由插值条件由插值条件(1 1)知知 Pn(x)系数满足以下系数满足以下n+1+1个代
4、数方程个代数方程组成线性方程组组成线性方程组 a0+a1x0+an x0n=f(x0)a0+a1x1+an x1n=f(x1)(3).a0+a1xn+an xnn=f(xn)而而 系数行列式是系数行列式是Vandermonde行列式行列式,且且第8页从而方程组从而方程组(3)解解 存在且唯一存在且唯一.注:注:经过解上述方程组经过解上述方程组(3)求得插值多项式求得插值多项式 Pn(x)方法并不方法并不可取可取.这是因为当这是因为当n 较大时解方程组计算量较大较大时解方程组计算量较大,而且方程而且方程组系数矩阵条件数普通较大组系数矩阵条件数普通较大(可能可能是病态方程组是病态方程组),当阶数当
5、阶数n 越越高时高时,病态越重病态越重.为此我们必须从其它路径为此我们必须从其它路径来求来求Pn(x):不经过求解方程组而取得不经过求解方程组而取得插值多项式插值多项式第9页不一样基函数选取造成不一样不一样基函数选取造成不一样插值方法插值方法Lagrange插值插值Newton插值插值基本思想基本思想:在在n 次多项式空间次多项式空间Pn中找一组适当基函数中找一组适当基函数 0(x),1(x),n(x),使使Pn(x)=a0 0(x)+a1 1(x)+an n(x)第10页n=1可见可见 L1(x)是过是过(x0,y0)和和(x1,y1)两点直线两点直线.6.2 Lagrange插值插值求求
6、n 次多项式次多项式 使得使得已知已知 x0,x1;y0,y1,求求l0(x)l1(x)第11页这种插值称为线性插值这种插值称为线性插值,其中其中 l0(x),l1(x)称为线性插值基函称为线性插值基函数数,它们是由插值节点它们是由插值节点 x0,x1唯一确定唯一确定,且满足且满足:n=2 L2(x)是过是过(x0,y0),(x1,y1)和和(x2,y2)三点次数不超出三点次数不超出 2 次多项式次多项式,几何上看即为抛物线几何上看即为抛物线.结构结构 L2(x)以下以下,令令:代入代入可得可得第12页l2(x)l0(x)l1(x)同理可得同理可得 于是有于是有 这种插值称为二次插值这种插值称
7、为二次插值,或抛物插值或抛物插值.能够验证能够验证 L2(x)满足插值满足插值条件条件:L2(xi)=yi(i=0,1,2).其中其中 l0(x),l1(x)和和l2(x)称为二次插称为二次插值基函数值基函数,它们是由插值节点它们是由插值节点 x0,x1,x2唯一确定唯一确定,且满足且满足二次插值函数:二次插值函数:第13页推广到普通情形推广到普通情形,则有普通则有普通LagrangeLagrange插值公式插值公式.一、插值基函数一、插值基函数 De f:若若n 次多项式次多项式 在在 n+1个插值节个插值节点点 上满足插值条件上满足插值条件则称这则称这 n+1 个个 n 次多项式次多项式
8、为插值节为插值节点点上上n 次插值基函数次插值基函数.下建立其详细表示式:下建立其详细表示式:由由ik 时时,知知 为为 零零点点,故设故设 第14页由由 得得 所以所以 与与 节点节点相关,而与相关,而与f 无关无关基函数性质基函数性质 Prop1:基函数基函数 为由插值节点为由插值节点 唯一确定唯一确定n 次函数次函数.Prop2:基函数所含基函数个数与插值节点个数相同基函数所含基函数个数与插值节点个数相同.第15页能够证实函数组能够证实函数组 l0(x),l1(x),,ln(x)在插值区间在插值区间a,b上线上线性无关性无关,所以这所以这 n+1个函数可作为个函数可作为Pn 一组基函数一
9、组基函数,称为称为Lagrange插值基函数。插值基函数。则则 Ln(x)是次数不超出是次数不超出 n 多项式多项式,满足插值条件满足插值条件Ln(xi)=yi,称称其为其为Lagrange插值多项式插值多项式,或或Lagrange插值公式。插值公式。注注:(1)若被插函数若被插函数 f(x)=1,则得插值基函数一个主要性质则得插值基函数一个主要性质(2)Lagrang插值只要求节点互异插值只要求节点互异,而与大小次序无关。而与大小次序无关。令:令:二、二、Lagrange 插值多项式插值多项式 第16页方便记法方便记法:记:记:则则所以所以 可写成以下形式可写成以下形式第17页例例1:已知已
10、知 分别用线性插值和二次分别用线性插值和二次插值求插值求 近似值。近似值。解解:(1)线性插值线性插值(2)二次插值二次插值注:注:这里线性插值只选取两个相近点。这里线性插值只选取两个相近点。第18页 插值余项插值余项/*Remainder*/定理定理6.2.1 若若在在a,b内存在内存在,则在则在a,b上上n+1个互异点,对个互异点,对 f(x)所作所作n 次次Lagrange 插值多项插值多项式式Ln(x)有误差预计有误差预计 Rolles Theorem推论推论:若若 充分光滑充分光滑,且且存在存在使得使得第19页证实:证实:因为因为R n(xi)0,i=0,1,n任意固定任意固定 x
11、xi (i=0,n),考查考查 (t)有有 n+2 个不一样根个不一样根 x0 xn x(Taylor公式公式)推论:推论:设设 ,并记并记 ,则函数则函数 f(x)过点过点(a,f(a),(b,f(b)线性插值余项线性插值余项 R1(x)有上界误差预有上界误差预计式:计式:第20页说明:说明:10:因为余项含有因子因为余项含有因子,假如插值点偏离节点较远假如插值点偏离节点较远,则插值效则插值效果普通不理想果普通不理想.20:通常所说通常所说n 次代数插值多项式不一定就是次多项式次代数插值多项式不一定就是次多项式,它可它可能是次数低于能是次数低于n.30:普通情况下普通情况下,余项中余项中详细
12、数值不易确定详细数值不易确定,实际计算中常预实际计算中常预计其误差限计其误差限.设设则有则有由此看出由此看出,|Rn(x)|大小除与大小除与Mn+1相关外相关外,还与插值节点有亲密还与插值节点有亲密关系关系.当给定当给定m 个点处函数值个点处函数值,但仅选取其中但仅选取其中n+1(n+1 m)个个作为插值条件而求某点作为插值条件而求某点 处函数值时处函数值时,n+1个节点选取应尽个节点选取应尽可能地靠近可能地靠近 .第21页40:优缺点优缺点优点优点:Lagrange插值多项式结构简单插值多项式结构简单,形式对称形式对称,计算方便计算方便.缺点缺点:要增加节点时要增加节点时,需重新结构基函数需
13、重新结构基函数.第22页例例2:已知已知分别利用分别利用 sin x 1次、次、2次次 Lagrange 插值计算插值计算 sin 50,并预计误差。并预计误差。解:解:n=1分别利用分别利用x0,x1 以及以及 x1,x2 计算计算利用利用第23页sin 50 =0.7660444利用利用x0,x1 作为插值节点实际误差作为插值节点实际误差 0.010010.01001利用利用 计算得:计算得:sin 50 0.76008,利用利用x1,x2作为插值节点实际误差作为插值节点实际误差 0.00596 0.00596第24页n=2sin 50 =0.76604442次插值实际误差次插值实际误差
14、0.00061 0.00061第25页例例3 3:考虑制做考虑制做 sin x 在在0,上等距结点函数表上等距结点函数表,要求用线性插值要求用线性插值计算非表格点数据时计算非表格点数据时,能准确到小数后两位能准确到小数后两位,问函数表中自变量数问函数表中自变量数据步长据步长 h 应取多少为应取多少为好?好?解:设应取步长为解:设应取步长为h,则则 xj=j h(j=0,1,n).当当 x(xj,xj+1)时时 h 0.2 只须只须第26页计算实习计算实习:Lagrange Polynomial 1 1 输入输入n,x,y,xn,x,y,x*2 2 赋初始值赋初始值 PaiPai=1.0=1.0
15、,SlagSlag=0.0=0.0 3 3 forfor i=0 i=0,1 1,n n 3.1 3.1 Pai*(Pai*(x*-x-xi i)Pai)Pai end for(i)end for(i)4 4 forfor j=0,1,j=0,1,,n n 4.1 4.1 TaiTai=1.0=1.0 4.2 4.2 forfor i=0,1 i=0,1,n n 4.2.1 4.2.1 ifif ij ij thenthen Tai*(Tai*(xj j-x-xi i)Tai)Taiend ifend if end forend for(i)(i)4.34.3 SlagSlag+(yj*Pai)/(x+(yj*Pai)/(x*-x-xj j)*Tai)Slag)*Tai)Slag end for(j)end for(j)5 5 输出输出 Slag 6Slag 6 endend插值节点个数插值节点个数基函数基函数lj(x)lj(x)分母分母存放在插值点存放在插值点x x*处计算结果处计算结果x xi i,y,yi i(i=0,1(i=0,1,,n),n)基函数基函数l lj j(x)(x)分子分子第27页