iiijjijiilxlbx11nnnnnnaaaaaaaaaA212222111211bAxni,,3,2三次样条插值§3.6三次样条插值§什么是样条:是指飞机或轮船等的制造过程中为描绘出光滑的外形曲线(放样)所用的工具样条本质上是一段一段的三次多项式拼合而成的曲线在拼接处,不仅函数是连续的,且一阶和二阶导数也是连续的1946年,Schoenberg将样条引入数学,即所谓的样条函数一、三次样条插值函数定义1.的一个分割为区间],[,,,10babxxxan:],[)(上满足条件在区间如果函数baxS],[)(,],[)(),(),()1(2baCxSbaxSxSxS即上连续都在区间上都是三次多项式在每个小区间],[)()2(1kkxxxS上的三次样条函数为区间则称],[)(baxS处的函数值为在节点如果函数nxxxxf,,,)()3(10njyxfjj,,1,0,)(满足而三次样条函数)(xSnjyxSjj,,1,0,)(上的三次样条插值函数在为则称],[)()(baxfxS------(1)二、三次样条插值多项式处的函数值为在节点如果函数nxxxxf,,,)(10njyxfjj,,1,0,)(的一个分割为区间],[,,,10babxxxan则其必满足的三次样条插值函数是如果,)()(xfxS(),0,1,,jjSxyjnlim()(),1,,1jjxxSxSxjn1,,1),()(limnjxSxSjxxjlim()(),1,,1jjjxxSxSxyjn------(2)条件个共要满足上述四组)24()(nxS即然是分段函数上必在,],[)(baxS],[)(],[)(],[)(11211100nnnxxxxSxxxxSxxxxS)(xS满足三次样条插值多项式两点上的是,)(],[)(1kkkxxxSjjkyxS)()(lim)(lim1xSxSkxxkxxkk)(lim)(lim1xSxSkxxkxxkk)(lim)(lim1xSxSkxxkxxkk1,,2,1nk个条件共24nnj,,1,0------(3)------(4)1()[,],4kkkSxxx是上的三次样条插值多项式应有个待定的系数个待定的系数必须确定即要确定nxS4)(少两个条件并且我们不能只对插值函数在中间节点的状态进行限制也要对插值多项式在两端点的状态加以要求也就是所谓的边界条件:第一类(一阶)边界条件:00)(fxSnnfxS)(第二类(二阶)边界条件00)(fxSnnfxS)(第三类(周期)边界条件)(lim)(lim)(1)(00xSxSpnxxpxxn2,1p------(5)------(6)------(7)加上任何一类边界条件(至少两个)后个好也是个待定的系数的条件正必须确定确定nnxS44)(一般使用第一、二类边界条件,即jjkyxS)()(lim)(lim1xSxSkxxkxxkk)(lim)(lim1xSxSkxxkxxkk1klim()lim()MkkkkxxxxSxSx1,,2,1nknj,,1,01,,2,1nk1,,2,1nk00)(fxSnnfxS)(------(8)00)(fxSnnfxS)(或常用第二类边界条件三次样条插值的M方法设f(x)是定义在[a,b]区间上的一个二次连续可微函数,为分划:bxxxxan2100S(x)在[xi-1,xi]上的表达式为:令i=0,1,2,…,n)(iiixSM在每一个小区间[xi-1,xi]i=1,…,n上都是三次多项式,)(xSiiiiiiihxxMhxxMxS11)((6.7)其中,将(6.7)两次积分得:1iiixxhiiiiiiiiAhxxMhxxMxS2)(2)()(2121iiiiiiiiiiBxxAhxxMhxxMxS)(6)(6)()(3131Ai和Bi为积分常数。因为iiiiiiyxSyxS)(,)(11所以它满足方程:12212666iiiiiiiiiiiiyBhAhMhMyBhM2116)(6iiiiiiiiiiihMyBMMhhyyA),,2,1(6612211nihxxhMyhxxhMyiiiiiiiiiiiiiiiiihxxMhxxMxS6)(6)()(3131(6.8)求Mi,确定S(x)的表达式。微分(6.8)式iiiiiiiiiiiiihMMhyyhxxMhxxMxS6)(2)(2)()(112121)(62)(2)()(11111211211iiiiiiiiiiiiiMMhhyyhxxMhxxMxS于是1163)(iiiiiiiiiMhhyyMhxS11111163)(iiiiiiiiiMhhyyMhxS)()(1iiiixSxS由得各项除以hi+hi+1,并记)(11iiiihhhii111116iiiiiiiiihhhyyhyyd则(6.9)可以写为)1,,2,1(211nidMMMiiiiii1,,2,1niiiiiiiiiiiiiihyyhyyMhMhhMh11111116)(2(6.9)端点条件最后一个方程。若取M0=Mn=0,称为三次自然样条。nnyMyM,00(1)给定补充(6.9)的第一个和有011011010163)(yMhMhhyyxSnnnnnnnnnnyMhMhhyyxS36)(11(2)给定两端点导数值nnyxSyxS)()(00010111062yhyyhMMnnnnnnnhyyyhMM1162分别补充为方程组(6.9)的第一个和最后一个方程组。解方程组经补充后的方程组(6.9)为其中,对端点条件(1),有00020MdnnnMd20nnnnnddddMMMM110110n-1n2211022222(6.9)对端点条件(2),有01011006,1yhyyhdnnnnnnnhyyyhd16,1(6.10)是一个三对角方程组,可用追赶法解之。此方程组系数严格对角占优!从而存在唯一解。求出了Mi(i=0,1,…,n),也就求得了S(x)在各个小区间的表达式Si(x)(i=0,1,2,…,n)若取等距节点hi=h,i=1,…,n–121121iiihhh)2(322611311iiiiiiiyyyhhyyyhdni,,2,1例1.对于给定的节点及函数值2431)(54213210kkxfxk的近似值并求插值函数的三次样条求满足自然边界条件)3(),(0)()(0fxSxSxSn解:由M关系式3213123113221kkkkhhh11kkkkhhhk111111166[,,]iiiiiiiiiiiiyyyydhhfxxxhh123,5dd000020dM333020dM01122320012222333332152522333002MMMMMM0123390,,,044MMMM解方程组得:将上述结果代入2211166(1,2,,)iiiiiiiiiiMxxMxxyhyhhhiniiiiiiihxxMhxxMxS6)(6)()(3131321137()112884Sxxxxx322137()124884Sxxxxx323345103()3345884Sxxxxx21147838123xxxx42147838123xxxx543341038458323xxxx)(xS417)3()3(Sf定理.次样条插值函数,满足任意边界条件的三为节点是以设,),,1,0()(],,[)(2nkxxSbaCxfk,min,max,10101iniiniiiihhhxxh设时则当ch)()(],[)()(xfxfbaxSxS和上一致收敛到在和最后,介绍一个有用的结果则有且若],,[)(4baCxf)(|)()(|max4)()(kkkbxahoxSxf2,1,0knjmxSjj,,1,0,)(设)(],[)(1xSxxxfkkk上的三次插值多项式在小区间逐个求插值多项式上的两点三次表示为将HermitexxxSkkk],[)(1)(xSk()3()kHx11121kkkkxxxxy21kkkxxxxkkxxm211kkkxxxx21kkkxxxx11kkxxmkkkkxxxxy121211kkkxxxx------(9)()()()()011011()()()()kkkkkkkkyxyxmxmx三次样条插值的m方法kkkkkkyxxhxxhxS213)()(2)(1231)()(2kkkkkyxxhxxhkkkkmxxhxx212)()(1221)()(kkkkmxxhxx加以整理后可得并整理后得求二阶导数对,)(xSk)()2(6)(131kkkkkkyyhxxxxSkkkkmhxxx21426121246kkkkmhxxx------(10)------(11)1,,1,01nkxxhkkk,令)(lim)(lim1xSxSkxxkxxkk1,,2,1nk由条件)(limxSkxxk)(612kkkyyhkkmh412kkmh)(lim1xSkxxk)(6121kkkyyh112kkmhkkmh14由于以上两式相等,得11111)11(21kkkkkkkmhmhhmh)(321121kkkkkkhyyhyy1,,1nk个未知量个方程共个1,1nn得并加以整理除上式的两边用,,111kkhh112kkkkkmmmkg1kkkkhhh11kkkkhhh)(3111kkkkkkkkkhyyhyyg1,,1nk------(12)1,,1nk个未知量个方程共个1,