加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

三次样条插值函数

(2010-03-05 10:39:05)
标签:

杂谈

转:http://blog.163.com/weizhong99@126/blog/static/123355833200963110439753/

 

http://zh.wikipedia.org/wiki/%E6%A0%B7%E6%9D%A1%E6%8F%92%E5%80%BC#.E4.BA.8C.E6.AC.A1.E6.A0.B7.E6.9D.A1.E6.8F.92.E5.80.BC

 

 三次样条插值函数

高次插值函数的计算量大,有剧烈振荡,且数值稳定性差;在分段插值中,分段线性插值在分 段点上仅连续而不可导,分段三次埃尔米特插值有连续的一阶导数,如此光滑程度常不能满足物理问题的需要,样条函数可以同时解决这两个问题,使插值函数既是低阶分段函数,又 是光滑的函数,并且只需在区间端点提供某些导数信息。

5.6.1三次样条函数

定义  设在区间[a,b]上取 n+1 个节点

a= =b

函数y=f(x)在各个节点处的函数值为 =f( )(i=0,1,…,n),若S(x)满足:

(1) S( )= ,i=0,1,…,n ;

(2) 在区间[a,b]上,S(x)具有连续的二阶导数;

(3) 在区间[ ](i=0,1,…,n-1)上,S(x) 是x的三次多项式;

称S(x) 是函数y=f(x)在上[a,b]上的三次样条插

S′( +0)=S′( -0),     (5)

S″( +0)=S″( -0)

此时 ,这样确定的样条函数S(x)称为周期样条函数。

5.6.2三次样条函数的计算

1用节点处的二阶导数表示的三次样条函数——三弯矩方程

由于S(x)的二阶导数连续,设S(x)在节点 的二阶导数为 ,即

S″( )= ,i=0,1,…,n,

是未知、待定的数。因S(x)是分段三次多项式,则S″(x)是分段一次多项式,且在每个 区间[ ]上,S″(x)可表示为

    

记 = - ,则

将上式在区间[ ]上积分两次,并且由S( )= ,S( ) = 来确定两个积分常数,可得当x∈[ ]时,

S(x)=     (5.6.6)

对上式求导得:

S′(x)= (7)

利用S(x)一阶导数连续的性质,在上式中令x= ,得:

   

将式(7)中的i换成i-1,得S′(x)在[ ]上的表达式

S′(x)=

用x= 代入,得:

利用S′( -0)=S′( +0)可得:

    

两边乘以 ,得:

          i=1,2,…,n-1 (5.6.8)

其中

 (9)

这是含有n+1个未知量 共有n-1个方程组成的线性方程组,欲确定该方 程组的解,尚缺2个方程。因此求三次样条函数还要2个附加条件。

常见的问题有下面两种提法:

①第一类问题  附加条件①,即给出边界端点的一阶导数值:S′( )= ,S′( 。

利用前面已推导的公式,当x∈[ ]时,

S′(x)=

 取i=0,x= ,得:

取i=n-1,x= ,得:

移项,得:

        

其中 与式(8)联立得一n+1元线性方程组:         (10)

其系数矩阵是严格对角占优的三对角矩阵:

可以用追赶法解出 (i=0,1,…,n),将其代入式(6),即得到三次样条函数的分段表达式。

②第二类问题  附加条件②,即给出边界端点的二阶导数值:S″( ) = ,S″( )= ,代入式(8)得一n-1元线性方程组:

     (11)

其系数矩阵为

这是一个三对角矩阵,由于 ,因而它是严格对角占优的。原方程组 是个三对角方程组,可以用追赶法解出 ,代入式(6),即得到三次样条函数的分段表达式。

2用节点处的一阶导数表示的三次样条函数——三转角方程

由于S(x)的一阶导数连续,设S(x)在节点 处的一阶导数值为 ,即

S′( )= ,i=0,1,…,n,

是未知、待定的数。因S(x)是分段三次多项式,则在每个区间[ ] 上是三次多项式,且满足

 

S( )= ,S( )= ,S′( )= ,S′( )= ,

故S(x)是[ , ]上的分段三次埃尔米特插值多项式,当x∈[ ]时 

S(x)= ( ) + ( ) +

                               (x- )  + (x- ) (i=0,1,…,n-1) (3)

或写为

     S(x)= +

 

将上式在区间[ ]上求导两次,可得当x∈[ ]时,

S′(x)= +

 

    S″(x) = +

 

利用S(x)二阶导数连续的性质, 在上式 中令x= ,得:

S″( +0)=

将上式中的i换成i-1 ,得S″(x)在[ ]上的表达式

S″(x) == +

 

 

用x= 代入,得:

S″( -0)=

利用S″( -0)=S″( +0)可得:

        

两边乘以 ,得:

       (13)

其中

    (14)

这是含有n+1个未知 量 共有n-1个方程组成的线性方程组,欲确定该方程组的解,尚缺2个 方程。因此,求三次样条函数还要2个附加条件。有关情形与节点处的二阶导数表示的三次样条函数类似,叙述如下:

①第一类问题 附加条件①,即给出边界端点的一阶导数值: 时,则方程组为:

  (15)

②第二类问题 附加条件②,即给出边界端点的二阶导数值:S″( ) = ,

S″( )= , 时,利用前面己推导的公式,当x∈[ ]时,

S″(x) = +

 

取i=0,x= ,得:

 

取i=n-1,x= ,得

   

移项,得:

    

其中g0=3f[x0,x1]-〖SX()h0〖〗2〖SX〗〗M0,gn=3f[x n-1,xn]+〖SX()hn-1〖〗2〖SX〗〗Mn.与式(13)联立可以建立如下方程组 :

   (16)

两种情形的系数矩阵均为严格对角占优的三 对角矩阵,可 以用追赶法求解,从而得到三次样条函数的分段表达式。

例1 已知f(x)的函数值为

 

 

 

 

0

 

1

 

2

 

3

 

 

 

0

 

0

 

0

 

0

 

 

 

试分别求函数f(x)满足下列边界条件的三次样条插值函数:

(1) S′(0)=1,S′(3)=0;

(2) S″(0)=1,S″(3)=0.

解, ,i=1,2.

(1)边界条件为 =0,用式(15)求解简单。由式(14)计算得

〖JZ〗f[0,1]=f[1,2]=f[2,3]=0, =0

代入式(15)得方程组

      

解得

利用公式

S(x)= +

 

 

i=0,1,2

并注意到边界条件 =0,求得三次样条函数如下:

s(x)= 

(2)边界条件为 ,用式(11)计算简单。由

 (i=1,2),

得

    =6f[0,1,2]=6/(1+2)[(0-0)/0-(0-0)/1]=0

     =6f[1,2,3]=6/(1+1)[(0-0)/1-(0-0)/0]=0

代入式(11)得方程组

解得

S(x)= +

 

i=0,1,2

并注意到 求得三次样条函数如下:

s(x)=

0

阅读 收藏 喜欢 打印举报/Report
后一篇:EM算法
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有