插值法总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

插值法在生产实践过程和科学实验中,经常要研究变量之间的函数关系,但在很多的情况下,又很难找到具体的函数表达式,往往只能通过测量或者观察获得一些量以及对应的值,这种无法求出其他量的对应的函数值,也不能进一步研究函数的分析性质。为了解决这个问题,我们设法通过已给的量以及对应的值来求出一个简单函数P(x),使P(𝑥)=𝑦𝑖(𝑖=0,1,2…𝑛)成立。这个求插值函数P(x)的方法称为插值法。1拉格朗日插值法先考虑一个简单的插值问题:求一个n次插值多项式𝑙𝑘(𝑥),使它在各节点𝑥𝑖(i=0,1…,n)上的值为𝑙𝑘(𝑥)={0(𝑖≠𝑘)1(𝑖=𝑘)(I,k=0,1,2…n)由上式可知,𝑙𝑘(𝑥)在𝑥0,𝑥1,…𝑥𝑘−1,𝑥𝑘+1,..𝑥𝑛处有根,所以可设𝑙𝑘(𝑥)=𝐴𝑘(𝑥−𝑥0)(𝑥−𝑥1)…(𝑥−𝑥𝑘−1)(𝑥−𝑥𝑘+1)…(𝑥−𝑥𝑛)由𝑙𝑘(x𝑘)=1,可求得𝐴𝑘=1(𝑥𝑘−𝑥0)(𝑥𝑘−𝑥1)…(𝑥𝑘−𝑥𝑘−1)(𝑥𝑘−𝑥𝑘+1)…(𝑥𝑘−𝑥𝑛)则𝑙𝑘(𝑥)=(𝑥−𝑥0)(𝑥−𝑥1)…(𝑥−𝑥𝑘−1)(𝑥−𝑥𝑘+1)…(𝑥−𝑥𝑛)(𝑥𝑘−𝑥0)(𝑥𝑘−𝑥1)…(𝑥𝑘−𝑥𝑘−1)(𝑥𝑘−𝑥𝑘+1)…(𝑥𝑘−𝑥𝑛)从而插值多项式𝑃𝑛(𝑥)=∑𝑙𝑘(𝑥)𝑦𝑘𝑛𝑘=0,这就是拉格朗日插值多项式。其优点是结构紧凑,系数有明确的定义,便于理论研究。缺点是当插值节点的个数有变动时,拉格朗日的基函数𝑙𝑘(𝑥)也要随之发生变化,从而整个插值公式都发生变化,也就是拉格朗日插值不具有承袭性,这在实际计算时是不方便的。2牛顿插值法为了克服拉格朗日插值不具有承袭性的缺点,下面介绍了牛顿插值法。为了介绍牛顿插值法,需要引进差商的概念。称f[𝑥0,𝑥𝑘]=𝑓(𝑥𝑘)−𝑓(𝑥0)𝑥𝑘−𝑥0为函数f(x)关于点𝑥0,𝑥𝑘的一阶均差,f[𝑥0,𝑥1,𝑥𝑘]=𝑓[𝑥0,𝑥𝑘]−𝑓[𝑥0,𝑥1]𝑥𝑘−𝑥1称为f(x)的二阶均差。一般地,称f[𝑥0,𝑥1,…,𝑥𝑘]=𝑓[𝑥0,..,𝑥𝑘−2,𝑥𝑘]−𝑓[𝑥0,𝑥1,…,𝑥𝑘−1]𝑥𝑘−𝑥𝑘−1为f(x)的k阶均差(均差也称为差商)。根据差商定义,如果已知一个函数表数据,可计算出各阶差商。差商表的计算一般按如下格式进行:𝑥0𝑓[𝑥0]𝑥1𝑓[𝑥1]𝑓[𝑥0,𝑥1]𝑥2,𝑓[𝑥2]𝑓[𝑥1,𝑥2]𝑓[𝑥0,𝑥1,𝑥2]⋮⋮⋮⋮⋱𝑥𝑛𝑓[𝑥𝑛]𝑓[𝑥𝑛−1,𝑥𝑛]𝑓[𝑥𝑛−2,𝑥𝑛−1,𝑥𝑛−2]⋯𝑓[𝑥0,𝑥1,⋯,𝑥𝑛]由函数表出发,从上至下,从左到右依次计算出一阶,二阶,……,各阶差商。借助均差的定义,一次插值多项式可表示为𝑃1(𝑥)=𝑃0(𝑥)+𝑓[𝑥0,𝑥1](𝑥−𝑥0]=f(𝑥0)+𝑓[𝑥0,𝑥1](𝑥−𝑥0)而二次插值多项式可表示为𝑃2(𝑥)=𝑃1(𝑥)+𝑓[𝑥0,𝑥1,𝑥2](𝑥−𝑥0)(𝑥−𝑥1)=f(𝑥0)+𝑓[𝑥0,𝑥1](𝑥−𝑥0)+𝑓[𝑥0,𝑥1,𝑥2](𝑥−𝑥0)(𝑥−𝑥1)⋮由此可递推得𝑃𝑛(𝑥)=f(𝑥0)+𝑓[𝑥0,𝑥1](𝑥−𝑥0)+𝑓[𝑥0,𝑥1,𝑥2](𝑥−𝑥0)(𝑥−𝑥1)+⋯+𝑓[𝑥0,𝑥1,…,𝑥𝑛](𝑥−𝑥0)…(𝑥−𝑥𝑛−1)𝑅𝑛(𝑥)=𝑓(𝑥)−𝑃𝑛(𝑥)=𝑓[𝑥,𝑥0,..,𝑥𝑛]𝑤𝑛+1(𝑥)=𝑓(𝑛)(𝜉)(𝑛+1)!𝑤𝑛+1(𝑥)𝑃𝑛(𝑥)称为牛顿插值多项式,𝑅𝑛(𝑥)为插值误差。虽然牛顿插值多项式具有承袭性,但是随着节点的加密,n增大,插值多项式𝑃𝑛(𝑥)在插值区间两个端点附近会发生激烈的震荡。这就是所谓的龙格现象。正是这个原因,在用多项式插值时不宜选取高次多项式插值(七八次以上)。3分段插值法龙格现象给我们启示:如果将区间分成更多的小区间,在每个小区间内采用低次插值,插值函数在小区间内能较好的逼近f(x),而不是用任意光滑的高次多项式去逼近f(x),这样就不会产生龙格现象了,同时,逼近效果前者也将优于后者。分段线性插值就是通过插值点用折线段连接起来逼近f(x)。设已知节点a=𝑥0𝑥1⋯𝑥𝑛=𝑏上的函数值𝑓0,𝑓1,⋯,𝑓𝑛,记ℎ𝑘=𝑥𝑘+1−𝑥𝑘,h=max𝑘ℎ𝑘求一折线函数𝐼ℎ(𝑥)满足:(1)𝐼ℎ(𝑥)∈𝐶[𝑎,𝑏];(2)𝐼ℎ(x𝑘)=𝑓𝑘(𝑘=0,1,⋯,𝑛);(3)𝐼ℎ(𝑥)在每个小区间[𝑥𝑘,𝑥𝑘+1]上是线性函数,则称𝐼ℎ(𝑥)为分段线性插值函数。由定义可知𝐼ℎ(𝑥)在每个小区间[𝑥𝑘,𝑥𝑘+1]上可表示为𝐼ℎ(𝑥)=𝑥−𝑥𝑘+1𝑥𝑘−𝑥𝑘+1𝑓𝑘+𝑥−𝑥𝑘𝑥𝑘+1−𝑥𝑘𝑓𝑘+1,𝑥𝑘≤𝑥≤𝑥𝑘+1,𝑘=0,1,⋯,𝑛−1.4Hermite插值法虽然分段线性插值能解决龙格现象,但是函数在端点处不平滑,光滑性较差。针对这些点,就有了Hermite插值法。下面以三次Hermite插值多项式为例,说明Hermite插值多项式的构造过程。已知H(𝑥0)=𝑓(𝑥0),𝐻′(𝑥0)=𝑓′(𝑥0),H(𝑥1)=𝑓(𝑥1),𝐻′(𝑥1)=𝑓′(𝑥1),求出P(x)使其满足P(x)=ℎ0(𝑥)𝑓(𝑥0)+ℎ1(𝑥)𝑓(𝑥1)+𝐻0(𝑥)𝑓′(𝑥0)+𝐻1𝑓′(𝑥1)对于ℎ0(𝑥),h0(𝑥)={0𝑖≠0;1𝑖=0;,h0′(𝑥0)=0,h0′(𝑥1)=0可设ℎ0(𝑥)=(𝐴𝑥0+𝐵)(x0−x1)2则{(𝐴𝑥0+𝐵)(x0−x1)2=1𝐴(x0−x1)2+2(𝐴𝑥0+𝐵)(x0−x1)=0得ℎ0(𝑥)=(1+2𝑥−x0x1−x0)(𝑥−x1x0−x1)2同理,可得,ℎ1(𝑥)=(1+2𝑥−x1x0−x1)(𝑥−x0x1−x0)2𝐻0(𝑥)=(𝑥−x0)(𝑥−x1x0−x1)2,𝐻1(𝑥)=(𝑥−x1)(𝑥−x0x1−x0)25三次样条插值法Hermite插值虽然比线性插值的效果明显改善,但这种插值要求给出节点上的导数值,所要提供的信息太多,其光滑度也不高(只有一阶导数连续),改进这种插值以克服其缺点就导致三次样条插值的提出。若函数S(x)∈C2[𝑎,𝑏](在二阶导数上连续),且在每个小区间[𝑥𝑗,𝑥𝑗+1]上是三次多项式,其中a=𝑥0𝑥1⋯𝑥𝑛=𝑏是给点节点,则称S(X)是节点𝑥0,𝑥1,⋯,𝑥𝑛上的三次样条函数。若在节点𝑥𝑗上给定函数值𝑦𝑖=𝑓(𝑥𝑗)(𝑗=0,1,⋯,𝑛),并满足S(𝑥𝑗)=𝑦𝑗,𝑗=0,1,⋯,𝑛则称S(X)为三次样条插值函数。由定义知S(x)在每个小区间[𝑥𝑗,𝑥𝑗+1]上都是三次多项式,它有4个待定系数,这样就共有4n个参数,而根据S(x)∈C2[𝑎,𝑏],有{S(𝑥𝑗−0)=𝑆(𝑥𝑗+0)S′(𝑥𝑗−0)=𝑆′(𝑥𝑗+0)S′′(𝑥𝑗−0)=𝑆′′(𝑥𝑗+0)这里共有3n-3个条件,而由S(𝑥𝑗)=𝑦𝑗给出n+1个条件,这样就共有4n-2个条件。为此要根据问题要求补充两个边界条件:(1)第一类边界条件:S‘(𝑥0)=𝑓0′,S‘(𝑥𝑛)=𝑓𝑛′.(2)第二类边界条件:S′′(𝑥0)=𝑓0′′,S′′(𝑥𝑛)=𝑓𝑛′′.其特殊情况是S′′(𝑥0)=S′′(𝑥𝑛)=0.这被称为自然边界条件。(3)第三类边界条件:S′(𝑥0)=S′(𝑥𝑛),S′′(𝑥0)=S′′(𝑥𝑛)这时f(x)是以𝑥𝑛−𝑥0为周期的周期函数,则要求S(x)也是周期函数。这样确定的S(x)称为周期样条函数。下面介绍下三次样条插值函数的构造:记M𝑗=S′′(𝑥𝑗),h𝑗=𝑥𝑗+1−𝑥𝑗,j=0,1,⋯,n在每个小区间[𝑥𝑗,𝑥𝑗+1]上通过两点(𝑥𝑗,M𝑗)和(𝑥𝑗+1,M𝑗+1)作线性插值S′′(x)=𝑥−𝑥𝑗+1𝑥𝑗−𝑥𝑗+1𝑀𝑗+𝑥−𝑥𝑗𝑥𝑗+1−𝑥𝑗𝑀𝑗+1=𝑥𝑗+1−𝑥h𝑗𝑀𝑗+𝑥−𝑥𝑗h𝑗𝑀𝑗+1对上式积分两次:S‘(𝑥)=∫S′′(x)𝑑𝑥=−𝑀𝑗2h𝑗(𝑥𝑗+1−𝑥)2+𝑀𝑗+12h𝑗(x−xj)2+𝐶1S(𝑥)=∫S′(x)𝑑𝑥=𝑀𝑗6h𝑗(𝑥𝑗+1−𝑥)3+𝑀𝑗+16h𝑗(x−xj)3+𝐶1𝑥+𝐶2利用插值条件S(𝑥𝑗)=𝑦𝑗和S(𝑥𝑗+1)=𝑦𝑗+1,求出𝐶1和𝐶2,并整理得S(𝑥)=𝑀𝑗6h𝑗(𝑥𝑗+1−𝑥)3+𝑀𝑗+16h𝑗(x−xj)3+(y𝑗−𝑀𝑗h𝑗26)𝑥𝑗+1−𝑥h𝑗+(y𝑗+1−𝑀𝑗+1h𝑗26)𝑥−𝑥𝑗h𝑗为了确定𝑀𝑗,对S(𝑥)求导得S‘(𝑥)=−𝑀𝑗2h𝑗(𝑥𝑗+1−𝑥)2+𝑀𝑗+12h𝑗(x−xj)2+yj+1−𝑦𝑗hj+Mj+1−𝑀𝑗6hj利用S′(𝑥𝑗−0)=𝑆′(𝑥𝑗+0)可得𝑢𝑗𝑀𝑗−1+2𝑀𝑗+𝜆𝑗𝑀𝑗+1=𝑑𝑗其中𝑢𝑗=h𝑗−1h𝑗−1+h𝑗,𝜆𝑗=h𝑗h𝑗−1+h𝑗𝑑𝑗=6𝑓[xj−1,xj,xj+1].𝑗=1,2,⋯,𝑛−1,由上式可转化成矩阵形式(由于word2013编不出该矩阵,就不写出来了),对于该稀疏矩阵,首先算出各个λ,μ,d的值,然的后由追赶法计算出𝑀𝑗的值。这样,确定𝑀𝑗的值,也就算可以得到分段函数S(𝑥)了。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功