二次样条与三次样条的研究 联系客服

发布时间 : 星期五 文章二次样条与三次样条的研究更新完毕开始阅读824d71503c1ec5da50e27048

安庆师范学院数学与计算科学学院2012届毕业论文

?39x2?101x?70;1?x?2?2??25.5x?157x?188;2?x?4由式(5)得到二次样条插值函数:S(x)= ? 2?31x?295x?716;4?x?52???4x?55x?159;5?x?7//3) y0?4的情形

/////由式(8)得到y0由式(3)得到:y1?18,y2??10,y3??22,y4?36 ?14,

?2x2?10x?4;1?x?2?2??7x?46x?40;2?x?4由式(2)得到二次样条插值函数:S(x)= ? 2??6x?38x?24;4?x?52??14.5x?167x?488.5;5?x?7//4) y4??10的情形

////由式(10)得到y4由式(6)得到:y3?17,y2??49,y1/?57,y0??25 ??3,

?41x2?107x?74;1?x?2?2??26.5x?163x?196;2?x?4由式(5)得到二次样条函数:S(x)= ? 233x?313x?756;4?x?5?2???5x?67x?194;5?x?7求周期二次插值函数:S(1)?8,S(2)?24,S(4)?32,S(5)?8

/由式(12)得到,y0??12,二次样条函数为

S(x)=

?28x2?68x?48;1?x?2?2??20x?124x?144;2?x?4 ?12x2?132x?368;4?x?5?2.2 三次样条的计算方法

定义:给定区间[ a,b ]一个分割△ a=x0 , x1, …, xn =b,在每个小区间[xi,xi?1]上

S(x)是三次多项式。若在节点xi上给定函数值yi?f(xi)(i?0,1,...n,,并成立S(x)为三次样条插值函数。 S(xi)?yi(i?0,1,...n,则称,从定义知要求S(x),在每个区间[xi,xi?1]上要确定4个待定系数,共有n个区间,故要确定4n个参数。

根据S(x)在[a,b]上二阶导数连续,在节点xi (i?1,2,...,n?1)处应满足连续性条件

5

安庆师范学院数学与计算科学学院2012届毕业论文

S(xi?0)?Sx(i?,0)S/(xi?0)?S/(xi?0),S//(xi?0)?S//(xi?0)

共有3n-3个条件,在加上S(x)满足插值条件S(xi)?yi(i?0,1,...,n),共有4n-2个条件,因此还需要个条件才能确定S(x)。

通常可在区间[a,b]端点a?x0, b?xn上各加一个条件。常见的有以下三种: 1 已知两端的一阶导数值,即S/(x0)?f0/,S/(xn)?fn/ 2 两端的二阶导数已知,即S//(x0)?f0//,S//(xn)?fn//

3 当f(x)是以xn?x0为周期的周期函数时,则要求S(x)也是周期函数。这时条件

S(x0?0)?S(xn?0),

S/(x0?0)?S/(xn?0),

S//(x0?0)?S//(xn?0)。而此时y0?yn。这样确定的样条函数S(x),称为周

期样条函数。

现给出计算方法:

(1)若假定S(x)在节点xi处的值为S/(xi)?mi(i?0,1,...,n),则由分段三次埃尔米特插值公式可得S(x)?数。

显然,表达式中S(x)及S(x)在整个区间[a,b]上连续,且满足S(xi)?yi(i?0,1,...,n):

现确定mi(i?0,1,...,n),可利用S//(xi?0)?S//(xi?0)(i?1,...,n?1)及某一边界条件来确定。为了求出mi,我们考虑S(x)在[xi,xi?1]上的表达式

//?[ya(x)?mb(x)],其中a(x),b(x)是插值基函

iiiiniii?0(x?xi?1)2[hi?2(x?xi)]S(x)?yi3hi(x?xi)2[hi?2(xi?1?x)](x?xi?1)2(x?xi)(x?xi)2(x?xi?1)?yi?1?mi?mi?1

ki3hi2hi2这

hi??1ix?。xi对

S(x)求二次导数得

S//(x)?6x?2xi?4xi?16x?4xi?2xi?16(xi?xi?1?2x)m?m?(yi?1?yi) ii?1hi2hi2hi36

安庆师范学院数学与计算科学学院2012届毕业论文

于是

同理,可得S//(x)在区间[xi?1,xi]上的表达式

S//(x)?及

6x?2xi?1?4xi6x?4xi?1?2xi6(xi?1?xi?2x)m?m?(yi?yi?1)i?1ihi2?1hi2?1hi2?1件

/S/(xi??S0xi?)i/?/(n?0,)可(得1用

,2,y?yy?y1111mi?1?2(?)mi?mi?1?3(i?12i?i2i?1)(i?1,2,...,n?1)hi?1hi?1hihihihi?1y?y11?除全式,并注意yi?fi,i?1i?f(xi,xi?1),上面方程可简化为

hihi?1hi?i?hihi?1,?i?(i?1,...,n?1),gi?3(?if(xi?1,xi)??if(xi,xi?1)(i?1,...,n?1)hi?1?hihi?1?hi此方程是关于未知数m0,m1,...,mn的n-1个方程,若加上边界条件:m0?f0/,mn?fn/,则方程变为只含m1,...,mn?1的方程,写成矩阵形式是

?2???2?0 ??...?0??0??120?22...00.........000000...2?3...00.........?n?2...0?n?10??m1??g1??1f0/??????0??m2??g2??0??m3??g3? ???=?...??...??...???n?2??mn?2??gn?2?????/?????2??mn?1??gn?1??n?1fn?,则得两个方程

若边界条件为S//(x0)?f0/,S//(xn)?fn//h0///f0?g02

hn?1//mn?1?2mn?3f(xn?1,xn)?fn?gn22m0?m1?3f(x0,x1)? 若边界条件为S//(x0)?S//(xn)?0,即满足自然边界条件,则得两端的方程为 于

2m0?m1?3f(x0,x1)?g0mn?1?2mn?3f(xn?1,xn)?gn用

7

安庆师范学院数学与计算科学学院2012届毕业论文

?21???12?0?2??......?00??00?0?12.........000000...2.........0...?n?20...0?n?10??m0??g0??????0??m1??g1?0??m2??g2?? ?????...??...??...??n?2??mn?1??gn?1??????????2??mn??gn??

若边界条件为周期条件,则得到

m0?mn,

111133m1?mn?1?2(?)mn?f(x0,x1)?f(xn?1,xn) h0hn?1h0hn?1h0hn?1化简为?n?hn?1hn?1,?n?,gn?3(?nf(x0,x1)??nf(xn?1,xn))

h0?hn?1h0?hn?1?2???2用矩阵表示为?...??0???n?12...000...00.........00...000...2?2......?n?1?n?????0??m2??g2?...??...???...? ??????n?1??mn?1??gn?1????2????mn??gn??1??m1??g1?上面得到的方程,每个方程都联系三个mi,这些方程系数矩阵对角元素都为2,非对角元素?i??i?1,故系数矩阵具有严格对角优势,方程有唯一解。

(2) 三次样条插值函数S(x)可以有多种表达方式,有时用二阶导数值

S//(xi)?Mi(i?0,1,...,n)表示使用更方便。

由于S(x)在区间[xi,xi?1]上是三次多项式,故S(x)在[xi,xi?1]上是线性函数,

//(xi?1?x)3(x?xi)3可表示为S(x)?Mi ?Mi?16hi6hi// 对S(x)积分两次并利用S(xi)?yi及S(xi?1)?yi?1,可定出积分常数,于是得

//(xi?1?x)3(x?xi)3Mihi2xi?1?xMi?1hi2x?xiS(x)?Mi?Mi?1?(yi?)?(yi?1?)(i?0,1,...,n?1)

6hi6hi6hi6hi(xi?1?x)2(x?xi)2yi?1?yiMi?1?Mi对S(x)求导得S(x)??Mi?Mi?1??hi

2hi2hihi6/8