您好,欢迎访问三七文档
2.8样条插值分段插值具有良好的稳定性和收敛性,有效地避免了龙格现象的发生,且算法简单,因此在实际应用中占有重要地位,但是,其光滑性较差。前面所介绍的方法只保证函数连续或其一阶导数连续,满足不了许多工程技术提出的对插值函数的光滑性有较高要求的计算问题。例如,船体、飞机的机翼外形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,而且要有连续的曲率,即二阶导数连续。对于分段插值,要增加光滑度,就要采用更高阶的导数值,而这一点实际应用中往往是很难提供的。为解决这一类问题,导致产生了样条插值。所谓样条(Spline)本来是工程设计中使用的一种绘图工具,它是一种富有弹性的细长木条,在飞机或轮船制造过程中,被用于描绘光滑的外形曲线。使用时,用压铁将其固定在一些给定的型值点上,在其它地方任其自然弯曲,并稍作调整,使样条具有满意的形状(各段接口处呈光滑状),然后沿样条画出曲线,称为样条曲线,它实际上是由分段三次曲线拼接而成,在连接点即型值点上,不仅函数自身是连续的,而且它的一阶和二阶导数也是连续的。由此抽象出数学模型称为样条函数。则称S(x)为关于上述划分的m次样条函数。给定区间[a,b]的一个划分a=x0x1…xn=b,如果函数S(x)满足(1)在每个小区[xi,xi+1](i=0,1,…,n-1)上S(x)是m次多项式;(2)S(x)在[a,b]上具有m1阶连续导数。显然,按此定义,折线是一次样条函数。而用“样条”绘出的图形为三次样条函数曲线,也是最常用的样条函数。那么,确定一个三次样条函数需要多少个条件呢?由上述样条函数定义(1)中知,S(x)在每个小区间[xi,xi+1]上是一个三次多项式,因此需要确定4个待定常数,一共有n个小区间,故应确定4n个参数。由定义中条件(2),S(x)应在n1个内点上具有二阶连续导数,即应满足条件:1,,2,1)0()0()0()0()0()0(nixSxSxSxSxSxSiiiiii共有3(n1)个条件。因此,要确定一个三次样条函数,还需要另增加4n3(n1)=n+3个条件。利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。例如分段线性插值是一次样条插值。已知函数y=f(x)在区间[a,b]上的n+1个节点a=x0x1…xn=b上的值yj=f(xj)(j=0,1,…,n),求插值函数S(x)使其满足:(1)S(xj)=yj(j=0,1,…,n);(2)在每小区间[xj,xj+1](j=0,1,…,n-1)上S(x)是三次多项式,记为Sj(x);(3)S(x)在[a,b]上二阶连续可微。则S(x)称为f(x)的三次样条插值函数,它通过上述给定点,为二阶连续可导的分段三次多项式函数。由定义,这里增加了n+1个插值条件,要确定S(x)还需要补充两个条件。通常会根据问题的具体情况。在区间的两个端点处给出条件,称为边界条件。常用的边界条件有以下三种:(1)给定两端点处的导数值S(a)=y0,S(b)=yn,特别地,当y0=yn=0时,样条曲线在端点处呈水平状态。(2)给定两端点处的二阶导数S(a)=y0,S(b)=yn,特别地,当y0=yn=0时,称为自然边界条件。(3)如果f(x)是以ba为周期的周期函数,则S(x)也是应具有同样周期的周期函数,在端点处应满足S(a+0)=S(b0),S(a+0)=S(b0).已知函数f(x)在三个点处的值为f(1)=1,f(0)=0,f(1)=1,在区间[1,1]上,求f(x)在自然边界条件下的三次样条插值多项式。例1010101011110000110011213110020300)0()0()0()0(10011)1(,0)0(0)0(,1)1(]1,0[,)(]0,1[,)()(]10[]01[]1,1[2bbccSSSScbaddcbaSSSSxdxcxbxaxSxdxcxbxaxSxSn导数的连续条件:再由内节点处一、二阶可得::由插值和函数连续条件并设:两个子区间,,,分为,区间解:这里]1,0[,2321]0,1[,2321)(0,23,21:,,,0260260)1(0)1(23231010101010110010xxxxxxxSCCbbaabbaababaSS从而得到问题的解为:因此联立可解得:而由自然边界条件:这种解法称为待定系数法,当n较大时,由于要解4n阶的线性方程组,工作量太大,因此,一般不采用待定系数法,而考虑另外的较简单的方法,即取节点上的导数或二阶导数值为参数,来导出三次样条插值函数的表达式。二、三次样条插值函数的建立.用三弯矩法和三转角法求三次样条插值函数常],)()([)(0njjjjjxmxfxs.,数,得到三次样条插值函对角方程组,求出的三,可得关于连续性条件和边界条件由插值条件jjmm埃尔米特插值多项式,根据分段三次三转角法:假定,),,0()(njmxsjj.,,,0,)(1jjjjjxxhnjMxs三弯矩法:令].,[,)(111jjjjjjjjxxxMhxxMhxxxs则,2)(2)()(11221cMhxxMhxxxsjjjjjj,6)(6)()(211331cxcMhxxMhxxxsjjjjjj,61)(,61)(1211121212jjjjjjjjjjycxcMhxsycxcMhxs,)6()6(6)(6)()(211121331jjjjjjjjjjjjjjjjhxxhMyhxxhMyMhxxMhxxxsjjjjjjjjjjjjhMMhyyMhxxMhxxxs62)(2)()(111221.)(61),(6111112111jjjjjjjjjjjjjjjjMxMxhhxyxycMMhhyyc)0()0(:,,,0jjnxsxsMM要用导数连续条件为了求,63)0(11jjjjjjjjhyyMhMhxs,1,,1,6361111111njhyyhyyMhMhhMhjjjjjjjjjjjjj.36)0(11111jjjjjjjjhyyMhMhxs].,,[6,,,1,,1,21111111jjjjjjjjjjjjjjjjjjxxxfdhhhhhhnjdMMM其中,36)0(111jjjjjjjjhyyMhMhxs00001010000110000:)(6263)0(dfhyyhMMfhyyMhMhxsnnnnnnnndhyyfhMM:)(621111在第一边界条件下:,2122121101101111nnnnnnddddMMMM.,00nnfMfM在第二边界条件下:,222211220111221122221nnnnnnnnnfdddfdMMMM].,,[6,,,2110100111100xxxfdhhhhhhdMMMMMxxnnnnnnnnnnnnnnn其中,并且,就有意在第三边界条件下:注,2222121121112211nnnnnnnnddddMMMM
本文标题:样条插值
链接地址:https://www.777doc.com/doc-5204312 .html