数值分析5-2研.ppt
第五章第五章 插值法插值法Hermite插值插值分段插值分段插值样条插值样条插值电子工程应用电子工程应用Hermite插值插值插值函数:要求它在节点处与被插值函数取值相同。插值函数:要求它在节点处与被插值函数取值相同。插值函数与被插值函数不但函数值取值相同,而且插值函数与被插值函数不但函数值取值相同,而且具有相同的一阶、二阶甚至更高阶的导数值具有相同的一阶、二阶甚至更高阶的导数值Hermite插值问题插值问题。进一步要求:进一步要求:本节讨论在节点处本节讨论在节点处插值函数与被插值函数的值及一插值函数与被插值函数的值及一阶导数值均相等的情况。阶导数值均相等的情况。Hermite插值插值 埃尔米特(埃尔米特(Charles Hermite,18221901)法国数学家。法国数学家。巴黎综合工科学校毕业。曾巴黎综合工科学校毕业。曾任法兰西学院、巴黎高等师范学任法兰西学院、巴黎高等师范学校、巴黎大学教授。法兰西科学校、巴黎大学教授。法兰西科学院院士。院院士。在函数论、高等代数、微分在函数论、高等代数、微分方程等方面都有重要发现。在现方程等方面都有重要发现。在现代数学各分支中以他姓氏命名的代数学各分支中以他姓氏命名的概念很多,如概念很多,如“埃尔米特二次型埃尔米特二次型”、“埃尔米特算子埃尔米特算子”、“埃尔埃尔米特插值米特插值”、“埃尔米特矩阵埃尔米特矩阵”等。等。Hermite插值插值设已知函数设已知函数 y=f(x)在在n+1个不同的插值节点个不同的插值节点x0,x1,xn 上的函数值上的函数值 fj=f(xj)(j=0,1,2,n)和导数和导数值值 mj=f(xj)(j=0,1,2,n),要求插值多项式,要求插值多项式H(x),满足条件满足条件2n+2个条件唯一确定一个次数不超过个条件唯一确定一个次数不超过2n+1次的多项次的多项式式H 2n+1(x)P 2n+1。仿仿照照构构造造Lagrange插插值值公公式式的的方方法法来来构构造造Hermite插值公式插值公式Hermite插值插值定理定理5.3 存在唯一的存在唯一的H 2n+1(x)P 2n+1满足插值条件满足插值条件证证:首先构造满足插值条件的多项式。设有两组首先构造满足插值条件的多项式。设有两组2n+1次次多项式多项式j(x)和和 j(x)(j=0,1,2,n),满足条件,满足条件则下面的多项式则下面的多项式满足插值条件满足插值条件Hermite插值插值j(xk)(k j)的函数值和的函数值和导数值导数值都为零都为零j 应含因子应含因子(x-xk)2(k j)可设可设 j(x)=(ax+b)lj2(x)由由 所以:所以:j(xj)=(axj+b)lj2(xj)=1 j(xj)=lj(xj)alj(xj)+2(axj+b)lj(xj)=0整理得整理得因为因为Hermite插值插值解得解得由于由于两端取对数再求导,可求得两端取对数再求导,可求得类似可得到类似可得到j(x)=(ax+b)lj2(x)Hermite插值插值下面讨论唯一性问题(反证法)。下面讨论唯一性问题(反证法)。设还有一个次数不大于设还有一个次数不大于2n+1的多项式的多项式G2n+1满足满足插值条件插值条件 令令R=H2n+1-G2n+1,则,则R(xj)=R(xj)=0,j=0,1,nR有有n+1个二重根个二重根 x0,x1,xn(共共2n+2个个)但但R是次数不大于是次数不大于2n+1的多项式,矛盾,故的多项式,矛盾,故R 0.证毕证毕Hermite插值插值定理定理5.4 设设 x0,x1,xn 为区间为区间a,b上的互异节点,上的互异节点,H(x)为过这组节点对为过这组节点对 f(x)插值的插值的2n+1次次Hermite插插值多项式。如果值多项式。如果f(x)在在(a,b)内内2n+2 阶导数存在,阶导数存在,则对任意则对任意x a,b,插值余项为,插值余项为当当n=1时,为三次时,为三次Hermite插值多项式,它在应用上插值多项式,它在应用上特别重要。现列出详细计算公式。取节点特别重要。现列出详细计算公式。取节点x0,x1,插,插值基函数是值基函数是可仿照可仿照lagrange插值余项的方式进行证明插值余项的方式进行证明Hermite插值插值所以,过两个节点的三次所以,过两个节点的三次Hermite插值多项式为插值多项式为插值余项插值余项:Hermite插值插值例例 求满足求满足 P(xj)=f(xj)(j=0,1,2)和和x1处的导数值处的导数值 P(x1)=f(x1)的插值多项式及其余项表达式。的插值多项式及其余项表达式。解解 (1)按插值条件,所求)按插值条件,所求P(x)是一个次数不高于是一个次数不高于3的多项式。待求的三次插值多项式的多项式。待求的三次插值多项式P3(x)除了满足除了满足2次拉格朗日(或牛顿)插值多项式的条件之外,还次拉格朗日(或牛顿)插值多项式的条件之外,还满足一阶导数的插值条件满足一阶导数的插值条件P3(x)和和N2(x)之间相差一个次数不超过之间相差一个次数不超过3次多项式次多项式 故可设故可设Hermite插值插值其中其中C为待定常数,为待定常数,由条件由条件(2)求余项)求余项R(x)=f(x)-P3(x)R(xj)=f(xj)-P3(xj)0 R(x)=f(x)-P3(x)R(x1)=f(x1)-P3(x1)0Hermite插值插值R(x)=K(x)(x-x0)(x-x1)2(x-x2)作辅助函数作辅助函数(t),固定,固定x (t)=R(t)-K(x)(t-x0)(t-x1)2(t-x2)(t)在插值区间内有在插值区间内有5个零点。反复应用个零点。反复应用Rolle定定理,可知理,可知(4)(t)在在该该区区间间内至少有一个零点内至少有一个零点,则则 (4)()=f(4)()-4!K(x)=0K(x)=f(4)()/4!R(x)=f(4)()(x-x0)(x-x1)2(x-x2)/4!分段插值分段插值高次插值的病态性质高次插值的病态性质插值余项:插值余项:插值多项式次数插值多项式次数n越高,越高,Rn(x)越小?越小?给定函数给定函数,在区间在区间-1,1上取上取n+1个等距节点为个等距节点为当当n=10时,函数图形时,函数图形Runge现象现象分段插值分段插值分段插值分段插值产生产生Runge现象现象的原因:的原因:1)函数的高阶导数绝对值随阶数增加而迅速增加。)函数的高阶导数绝对值随阶数增加而迅速增加。例如:例如:f(x)=10 x,有,有f(n+1)(x)=10 x(ln10)n+1 10 x2.3n+1对固定的对固定的x,当,当n增加时,增加时,f(n+1)(x)呈指数增长。呈指数增长。2)Wn+1(x)。当。当x固定时,邻近的节点固定时,邻近的节点xi与与x的距的距离离 x-xi 小,而随着节点数增加,小,而随着节点数增加,x-xi 会增会增大,大,Wn+1(x)增加。增加。改进办法:改进办法:分段低次插值分段低次插值分段插值分段插值分段线性插值分段线性插值用折线段连接起来,逼近用折线段连接起来,逼近f(x)。插值节点插值节点:a=x0 x1xn=b已知已知 yi=f(xi),(i=0,1,2,n)记记hi=xi+1-xi,h=max(hi).(i=0,1,n-1)线性插值函数线性插值函数yx0 a b分段插值分段插值x0 x1 x2 xn-1 xnL1,0L1,1L1,n-1分段插值分段插值分段插值分段插值下面建立分段线性插值的统一表达式,构造一组下面建立分段线性插值的统一表达式,构造一组基函数:基函数:lj(xi)=ij(i,j=0,1,n),且在每个小区间且在每个小区间xi,xi+1(i=0,1,n-1)上是线性函数。上是线性函数。小区间小区间xi,xi+1的部分由图中的两段实线叠加而成,的部分由图中的两段实线叠加而成,整个区间上的上的分段线性插值函数由所有这样整个区间上的上的分段线性插值函数由所有这样的折线叠加而成的折线叠加而成 xi xi+1 xi-1 xi xi+1分段插值分段插值考虑对各节点的贡献就可得到基函数的图像考虑对各节点的贡献就可得到基函数的图像每个每个lj(x)基函数只在基函数只在xj附近不为零,在其它地方均为零,附近不为零,在其它地方均为零,这种性质称为局部非零性质。这种性质称为局部非零性质。对任意对任意 ,必属于某,必属于某个区间个区间分段插值分段插值局部非零特性局部非零特性 分段插值分段插值定理定理5.5 设设f Ca,b,xj(j=0,n)为插值节点,且为插值节点,且 a=x0 x1xn=bL(x)是是f(x)的分段线性插值函数,的分段线性插值函数,h=max(xj+1-xj),则当则当h 0时,时,L(x)一致收敛于一致收敛于f(x)。定理定理5.6 f(x)在在a,b上二阶连续可微,则分段线性插上二阶连续可微,则分段线性插值函数的余项值函数的余项其中,其中,分段插值分段插值证证 对任意的一个小区间,对任意的一个小区间,x xi,xi+1 因为因为对任意对任意x a,b,有,有分段三次分段三次Hermite插值插值分段线性插值函数在节点处分段线性插值函数在节点处左、右导数不相等,因而其左、右导数不相等,因而其不够光滑。不够光滑。yx0 a b要求:分段插值多项式在节要求:分段插值多项式在节点处导数存在。点处导数存在。已知函数已知函数f(x)在节点在节点xj处的函数值和导数值分别为处的函数值和导数值分别为yj和和yj,所要求的具有导数连续的分段插值函数,所要求的具有导数连续的分段插值函数H(x)满满足足(1)(2)在每个小区间)在每个小区间xi,xi+1上,上,H(x)是三次多项式。是三次多项式。分段三次分段三次Hermite插值插值直接写出分段三次直接写出分段三次Hermite插值函数多项式插值函数多项式其中,其中,统一的分段三次统一的分段三次Hermite插值的基函数为:插值的基函数为:分段三次分段三次Hermite插值插值分段三次分段三次Hermite插值插值分段三次分段三次Hermite插值插值分段三次分段三次Hermite插值函数为插值函数为定理定理5.7 设设f Ca,b,xj,j=0,n为插值节点,且为插值节点,且 a=x0 x1xn=bH(x)是是f(x)的分段三次的分段三次Hermite插值多项式,插值多项式,h=max(xj+1-xj),则当,则当h 0时,时,H(x)一致收敛于一致收敛于f(x)。三次三次样条插值样条插值1)高次插值计算复杂,可能不一致收敛。)高次插值计算复杂,可能不一致收敛。比如:比如:Runge现象现象2)分段低次插值,计算简单,一致收敛,但光滑)分段低次插值,计算简单,一致收敛,但光滑性差。性差。a.分段线性插值在节点处一阶导数不连续;分段线性插值在节点处一阶导数不连续;b.若采用带一阶和二阶导数的若采用带一阶和二阶导数的Hermite分段插分段插值,往往事先无法给出节点处的导数值值,往往事先无法给出节点处的导数值样条插值函数样条插值函数:分段多项式插值,节点处有连续二:分段多项式插值,节点处有连续二阶导数(光滑连接)。阶导数(光滑连接)。三次三次样条插值样条插值被插值函数被插值函数:-5 x 5分段线性插值分段线性插值三次样条插值三次样条插值三次样条插值函数三次样条插值函数定义定义5.3 给定区间给定区间a,b上上n+1个节点个节点:a=x0 x1 xn=b,已知,已知 f(xj)=yj (j=0,1,n),如果如果满足满足:(1)S(xj)=yj (j=0,1,n);(2)S(x)在在 xj,xj+1上为三次多项式上为三次多项式;(3)S”(x)在区间在区间a,b上连续。上连续。则称则称 S(x)为为三次样条插值函数三次样条插值函数.三次三次样条插值样条插值当当xxj,xj+1 (j=0,1,n-1)时时 Sj(x)=aj+bj x+cj x2+dj x3 n个三次多项式个三次多项式,待定系数共待定系数共4n个!个!由样条定义由样条定义,可建立方程可建立方程(4n-2)个!个!插值条件插值条件:S(xj)=yj (j=0,1,n)n+1连续性条件连续性条件:S(xj+0)=S(xj-0)(j=1,n-1)n-1 S(xj+0)=S(xj-0)(j=1,n-1)n-1 S”(xj+0)=S”(xj-0)(j=1,n-1)n-1三次三次样条插值样条插值方程数少于未知数个数方程数少于未知数个数?边界条件:边界条件:(1)已知端点一阶导数:已知端点一阶导数:S(x0)=f(x0),S(xn)=f(xn)(2)已知端点二阶导数:已知端点二阶导数:S”(x0)=f”(x0),S”(xn)=f”(xn)特殊地,自然边界条件特殊地,自然边界条件:S”(x0)=0,S”(xn)=0三次三次样条插值样条插值3)当当f(x)是是以以(x-x0)为为周周期期的的周周期期函函数数时时,则则要要求求 S(x)也是周期函数,这时边界条件应满足也是周期函数,这时边界条件应满足三次三次样条插值样条插值如何建立三次样条函数如何建立三次样条函数?的三的三次次样条样条S(x)是一组三次多项式,设为是一组三次多项式,设为经过给定的经过给定的n+1个节点个节点这一形式,已经利用了这一形式,已经利用了n个插值条件个插值条件待待求求的的未未知知量量减减少少了了n个个,现现在在还还需需要要求求解解的的未未知知量量为为3n个。个。三次三次样条插值样条插值利利用用连连续续性性条条件件中中,样样条条函函数数在在节节点点处处连连续续,可可以以写出如下写出如下n个方程:个方程:利利用用连连续续性性条条件件中中,样样条条函函数数的的一一阶阶导导数数在在节节点点处处连连续,可以写出如下续,可以写出如下n-1个方程:个方程:三次三次样条插值样条插值利利用用连连续续性性条条件件中中,样样条条函函数数的的二二阶阶导导数数在在节节点点处处连连续,可以写出如下续,可以写出如下n-1个方程:个方程:式式(2)、(3)、(4)提提供供了了3n-2个个方方程程,要要求求解解 3n 个个未未知量,还差两个方程。将通过端点条件给出。知量,还差两个方程。将通过端点条件给出。若直接求解,因为方程之间相互耦合,难度较大。若直接求解,因为方程之间相互耦合,难度较大。先对方程进行解耦,然后再求解。先对方程进行解耦,然后再求解。利利用用少少量量代代数数知知识识,先先求求解解有有关关ci的的方方程程组组(3),接接着着求求出用出用ci表示的关于表示的关于bi和和di的显式方程。的显式方程。三次三次样条插值样条插值为简化计算过程,引入额外的符号为简化计算过程,引入额外的符号以及简化符号以及简化符号由由(2)式可解出式可解出由由(4)式可解出式可解出三次三次样条插值样条插值把上两式代入把上两式代入(3)式,可以得到以下式,可以得到以下n-1个关于个关于c的方程的方程为为简简单单起起见见,设设端端点点处处的的边边界界条条件件为为自自然然样样条条条条件件,它可以再给出两个方程:它可以再给出两个方程:(7)和和(8)式式给给出出了了n+1个个未未知知量量ci的的总总共共n+1个个方方程程,写写成如下的矩阵形式:成如下的矩阵形式:三次三次样条插值样条插值(9)上上述述方方程程组组对对于于 ci 永永远远可可以以求求解解,因因为为它它的的系系数数矩矩阵阵是严格对角占优阵。是严格对角占优阵。三次三次样条插值样条插值定理定理5.8 设设 ,对对一一组组数据点数据点其中其中xi不相同,存在唯一的自然三次不相同,存在唯一的自然三次样样条条拟拟合合这这些点。些点。在区间在区间xi,xi+1上的自然三次样条为上的自然三次样条为对对于于不不是是自自然然端端点点条条件件的的其其它它样样条条,则则只只需需要要改改变变方方程组程组(9)的第一行和最后一行即可。的第一行和最后一行即可。例例5.8 求经过求经过(0,3),(1,-2),(2,1)的自然三次样条。的自然三次样条。解:解:x坐标分别为:坐标分别为:y坐标分别为:坐标分别为:三次三次样条插值样条插值x坐标差分别为:坐标差分别为:y坐标差分别为:坐标差分别为:将数据代入(将数据代入(9),可写出),可写出解出解出三次三次样条插值样条插值满足条件的自然三次样条为满足条件的自然三次样条为进一步由进一步由(5)和和(6)可求出可求出三次三次样条插值样条插值三次样条插值算法三次样条插值算法输输入入:插插值值节节点点的的x,y坐坐标标;输输出出:三三次次样样条条参参数数b,c,d构成的矩阵构成的矩阵1)对对所所有有节节点点,依依次次计计算算相相邻邻节节点点的的x坐坐标标差差deltax和和y坐标差坐标差deltay2)填充方程组)填充方程组(9)的系数矩阵和右端向量的系数矩阵和右端向量3)求解方程组)求解方程组(9),得到系数得到系数c4)求解方程组)求解方程组(5),得到系数得到系数d5)求解方程组)求解方程组(6),得到系数,得到系数b各个小区间上的自然三次样条为:各个小区间上的自然三次样条为:Si(x)=yi+bi(x-xi)+ci(x-xi)2+di(x-xi)3,i=1,n-1function coeff=splinecoeff(x,y)n=length(x);A=zeros(n,n);%matrix A is nxnr=zeros(n,1);for i=1:n-1%define the deltas dx(i)=x(i+1)-x(i);dy(i)=y(i+1)-y(i);endfor i=2:n-1%load the A matrix A(i,i-1:i+1)=dx(i-1)2*(dx(i-1)+dx(i)dx(i);r(i)=3*(dy(i)/dx(i)-dy(i-1)/dx(i-1);%right-hand sideend%Set endpoint conditionsA(1,1)=1;%natural spline conditionsA(n,n)=1;coeff=zeros(n,3);coeff(:,2)=Ar;%solve for c coefficientsfor i=1:n-1%solve for b and d coeff(i,3)=(coeff(i+1,2)-coeff(i,2)/(3*dx(i);coeff(i,1)=dy(i)/dx(i)-dx(i)*(2*coeff(i,2)+coeff(i+1,2)/3;endcoeff=coeff(1:n-1,1:3);计计算算自自然然样样条条的的程程序序讲讲义义p.23,MALTAB程程序序中,删去:中,删去:%plus two optional extra data v1,vnv1=0;vn=0;例:已知例:已知 f(1)=1,f(0)=0,f(1)=1.求求1,1 上的三次自然样条插值函数上的三次自然样条插值函数.解:解:设设 由插值条件、连续性条件,则有由插值条件、连续性条件,则有:a1+b1c1+d1=1,d1=0,a2+b2+c2+d2=1 d1=d2 c1=c2b1=b2 由自然边界条件由自然边界条件:6a1+2b1=0,6a2+2b2=0 三次三次样条插值样条插值解方程组,得解方程组,得 a1=-a2=1/2,b1=b2=3/2,c1=c2=d1=d2=0 问题的解:问题的解:三次三次样条插值样条插值电子工程应用电子工程应用稳压器电路稳压器电路工工作作在在交交流流电电的的电电子子仪仪器器,一一般般都都有有一一个个变变压压器器-整整流流器器-滤滤波波器器电电路路,它它能能把把较较高高电电压压的的交交流流电电转转换换成成较较低低电压的直流电。电压的直流电。通通常常,输输出出的的直直流流电电在在一一定定范范围围内内波波动动。要要减减小小其其波波动动,使使输输出出的的直直流流电电压压更更稳稳定定,通通常常需需要要用用一一个个稳稳压压器器电电路路。右右图图是是使使用用齐齐纳纳二二极极管管的稳压器电路。的稳压器电路。电子工程应用电子工程应用稳压器电路稳压器电路电电阻阻R和和电电容容C形形成成低低通通滤滤波波器器,它它能能减减少少直直流流电电压压u的的波波动动。电电阻阻RL代代表表稳稳压压器器运运行行时时必必须须加加的的负负载载。二二极极管管D是齐纳二极管,其电流是齐纳二极管,其电流iD是电压降是电压降x的非线性函数的非线性函数由由基基尔尔霍霍夫夫电电流流定定律律,描述稳压器电描述稳压器电路路的方程的方程电子工程应用电子工程应用假设输入电压假设输入电压u是常数,令是常数,令但但厂厂家家通通常常不不会会直直接接给给出出f(x)的的函函数数形形式式,而而是是给给出一些测量数据,如右表出一些测量数据,如右表(datasheet)通过求解下面的非线性方程通过求解下面的非线性方程可求出稳态电压降可求出稳态电压降 xx(V)i(mA)x(V)i(mA)-1.0000-14.57731.27500.0000-0.8750-9.76562.55000.0000-0.7500-6.14983.82500.0000-0.6250-3.55894.92150.8791-0.5000-1.82224.94701.3960-0.3750-0.76874.97252.4123-0.2500-0.22784.99804.7116-0.1250-0.02855.023511.16830.00000.00005.049037.6926电压电压x(V)电电流流i(A)静态场第一类边界条件的插值处理静态场第一类边界条件的插值处理静态场第一类边界条件的插值处理静态场第一类边界条件的插值处理第一类边值问题:第一类边值问题:|C=g01234hC考虑边界和网格不重合的情况。考虑边界和网格不重合的情况。静态场第一类边界条件的插值处理静态场第一类边界条件的插值处理(1)零次插值零次插值01234hC0 1直接转移法直接转移法0 2 或或0 可以看作可以看作1或或2的零次多的零次多项式插值;项式插值;简单、精度较差简单、精度较差静态场第一类边界条件的插值处理静态场第一类边界条件的插值处理(2)一次插值一次插值 01234hC首先判断首先判断x方向上边界点方向上边界点和和y方向边界点对于方向边界点对于0点的点的靠近程度靠近程度1点更靠近点更靠近0点:点:h10 可以看作可以看作1和和3的一次多项式插值;的一次多项式插值;简单、精度较高简单、精度较高小结小结Hermite插值插值分段插值分段插值三次样条插值三次样条插值作业:作业:讲义第五章习题:讲义第五章习题:4、6