样条插值及应用深入研究 联系客服

发布时间 : 星期三 文章样条插值及应用深入研究更新完毕开始阅读8c71ca27e45c3b3567ec8b8e

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

yn?yn?1yn?1?yn?2yn?2?yn?3y?yy?y?+-…-21+10=y'0 (2.25) hn?1hn?2hn?3h1h0这就转化为第一种情况, 可由式(2.8)(2.9)得到二次样条插值函数。 2.1.1.2 三次样条插值

(1)用一个弹性条,在节点处将其固定而得曲线。有力学知识可得,这样的曲线具有二阶连续导数。分段线性插值导数f'(x)不连续,若每一段?xi,xi?1?用二次多项式a2x2?a1x?a0来取代直线a1x?a0,则每一段有三个系数需要确定,除条件(xi,yi)(xi?1,yi?1)外,还可附加一个导数条件(xi,fxi'(,只要给定f'x(0(,)则可保证f'x)连续。但是

这在物f'(x0)?f'(x1)?…?f'(xn)这一过程实质上是由f'(x)决定了所有节点上的导数值,理上的合理性是有限的,显然这些f'(xi)并非真实的导数值。故此我们想到用三次函数来取代二次函数,这样灵活性更大,效果更好。

若函数s(x)?2C[a,,b]且在每个小区间[xj,xj?1]是三次多项式,其中

a?x0?x1?x?xn??b2...?xn??11是给定节点,则称s(x)是节点x0,x1,x2,...,xn?1上的三次样条函数。若在节点xj上给定函数值si(x)?yi?zix(?xis(xj)?yj,j?0,1,…,n,则称s(x)为三次样条插值函数。

yi?1?yixi(?xi?)yi,并成立

xi?1?xi根据s(x)在[a,b]上二阶可导连续,在节点xj(j?0,1,…,n?1)处应满足连续性条件:

s(xj?0)?s(xj?0),s'(xj?0)?s'(xj?0),s''(xj?0)?s''(xj?0)。除此之外通常可在区间

[a,b]的端点x?x上各加一个条件(称为边界条件),来确定s(x)。边界条件可根据实际情

n0况问题的要求给定。常见的有以下3种:

已知两端的一阶导数值,即

s'(x0)?f0',s'(xn)?fn' (2.26)

已知两端的二阶导数,即

s''(x0)?f(x)'',s''(xn)?fn'' (2.27)

其特殊情况为s''(x0)?s''(xn)?0,称为自然边界条件。

-13-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

当f(x)是以xn?x0为周期的周期函数时,则要求s(x)也是周期函数,这时边界条件应满足

?s(xj?0)?s(xj?0)??s'(xj?0)?s'(xj?0) (2.28) ??s''(xj?0)?s''(xj?0)此时s(xj)?yj,j?0,1,…,n中yn?y0,这样确定的样条函数s(x)称为周期样条函数。

(2)三次样条插值函数的构建

三弯矩插值法构造样条插值

现在推广在区间[xi,xi?1]上三次样条插值函数s(x)的表达式。首先,s''(x)在节点上连续,故可记Mi?s''(xi)(i?0,1,,n),并记hi?xi?1?xi(i?0,1,,n?1)。由于s(x)是2阶光滑的分段

三次多项式,于是s''(x)是分段线性连续函数,故在区间[xi,xi?1]上s''(x)可由(xi,Mi)与

(xi?1,Mi?1)两点的线性插值函数

s''(x)?

所决定,其中Mi(i?0,1,xi?1?xx?xiMi?Mi?1,x?[x,xi?1]hihi (2.29)

,n)是待定的参数.为了求出s(x)在[xi,xi?1]上的表达式,只需对式 s'(x0)?f'0,s'(xn)?f'n, (2.30)

在区间[xi,xi?1]上积分两次,便得下列关系式,?x?[x,xi?1],有

(xi?1?x)2(x?xi)2s'(x)??Mi?Mi?1?Ai2hi2hi (2.31) (xi?1?x)3(x?xi)3s(x)?Mi?Mi?1?Ai(x?xi)?Bi6hi6hi (2.32)

其中,Ai,Bi为积分常数。利用插值条件s(xi)?fi,s(xi?1)?fi?1得出Ai,Bi满足方程

?hi2?Mi?Bi?fi?6,?2?hiM?Ah?B?fi?1iiii?1??6 (2.33)

-14-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

从而可确定两积分常数

2fi?1?fihihAi??(Mi?1?Mi),Bi?fi?iMihi66 (2.34)

将积分常数Ai,Bi代入式(2.32)和式(2.31)中,于是可得s(x)及s'(x)在区间 [xi,xi?1](i?0,1,n?,上的表达式1)(xi?1?x)3(x?xi)3x?xis(x)?Mi?Mi?1?6hi6hihi??hi2hi2?fi?1?fi?(Mi?1?Mi)??fi?Mi,

66??(2.35)

(xi?1?x)2(x?xi)2f?fihis'(x)??Mi?Mi?1?i?1?(Mi?1?Mi).2hi2hihi6 (2.36)

因此,只要知道Mi(i?0,1,,n),s(x)的表达式也就完全确定了。

为了确定Mi(i?0,1,?,n),必须应用样条节点光滑连续条件

?s(xi?0)?s(xi?0)?'?s(xi?0)?s'(xi?0) (i?1,2,?,n?1) (2.37) ?s''(x?0)?s''(x?0)ii?中的

s'(xi?0)?s'(xi?0) (2.38)

由式(2.36)可得

s'(xi?0)??hif?fihiMi?i?1?(Mi?1?Mi).2hi6 (2.39)

类似的,可以推导出s'(x)在[xi?1,xi]上的表达式,从而可以得到

s'(xi?0)?hi?1f?fi?1hi?1Mi?i?(Mi?Mi?1).2hi?16 (2.40)

因此,根据连续性条件(2.38),并经整理可得

?iMi?1?2Mi??iMi?1?di(i?0,1,?,n?1), (2.41)

其中,

-15-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

???i????i????di?????????hi?1hi?1?hihihi?1?hi?1??i??f?fifi?fi?1?1?6?i?1??hi?1?hi?1?hi?hif[xi,xi?1]?f[xi?1,xi]?6hi?1?hi?6f[xi?1,xi,xi?1] (2.42)

此时,求Mi(i?0,1,?,n)转化成求解方程组(1.20),它是一个含有n?1个未知量的n?1个方程组成的方程组,要惟一确定未知量Mi(i?0,1,?,n),还需要利用边界条件来补充两个方程。

① 一阶边界条件情形:由边界条件

s'(x0)?f'0,及式(2.39)和式(2.40),可导出补充方程

s'(xn)?f'n, (2.43)

6?'2M?M?(f[x,x]?f1010)?0h?0??M?2M?6(f'?f[x,x])n?1nnn?1n?hn?1? (2.44)

这时,即若

6?'??1,d?(f[x,x]?f0010)?0h?0,?6???1,d?(fn'?f[xn?1,xn])nn?hn?1 ? (2.45)

则可求的Mi(i?0,1,?,n)的线性方程组:

?2???1??????02??1??n?1??M0??d0???M??d???1??1???????????????2?n?1??Mn?1??dn?1??n2????Mn????dn?? (2.46)

-16-