数值分析——样条函数及三次样条插值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S k ( x )是[ xk , xk + 1 ]上的(两点)三次样条插值多项式, 满足

Sk ( x j ) = y j
x → xk
k = 0,1,2, ⋯ , n − 1; j = k , k + 1
lim S k ( x ) = lim S k − 1 ( x ) + −
一、三次样条插值函数
定义1. 定义
a ≤ x0 , x1 ,⋯ , xn ≤ b为区间[ a , b ]的一个分割
如果函数S ( x )在区间[ a , b ]上满足条件 :
( 1) S ( x ), S ′( x ), S ′′( x )都在区间[ a , b ]上连续 ,即 S ( x ) ∈ C 2 [ a , b ]
f ( x j ) = y j , j = 0 ,1,⋯ , n 如果S ( x )是f ( x )的三次样条插值函数, 则其必满足
S ( x j ) = y j , j = 0 ,1,⋯ , n lim S ( x ) = S ( x j ) = y j , j = 1,⋯ , n − 1 x→ x xlim S ′( x ) = S ′( x j ) = m j , j = 1,⋯ , n − 1 →x lim S ′′( x ) = S ′′( x j ), j = 1 ,⋯ , n − 1
+ x → xk
Sk ( x j ) = y j
k
k = 0,1, ⋯ , n − 1; j = k , k + 1
− x → xk
k −1
k = 1 , 2 ,⋯ , n − 1 k = 1,2 ,⋯ , n − 1 ------(8) k = 1, 2 ,⋯ , n − 1
S ′′( x0 ) = f 0′′ S ′′( xn ) = f n′′
x → xk x → xk x → xk
′ ′ lim S k ( x ) = lim S k − 1 ( x ) + −
x → xk x → xk
k = 1 , 2 ,⋯ , n − 1
------(4)
′ ′ lim S k′( x ) = lim S k′− 1 ( x ) + −
共 4 n − 2个条件
′ S n′− 1 ( xn ) = − 6 h
2 n −1
------(15)
( yn − yn − 1 ) +
2 hn − 1
mn − 1 +
4 hn − 1
mn = f n′′ ----(16)
(15)(16)式是关于m0 , m1 , mn − 1 , mn的方程, 整理后得
y1 − y0 h0 2 m0 + m1 = 3 − f 0′′ h0 2 yn − yn − 1 hn − 1 mn − 1 + 2 mn = 3 + f n′′ 2 hn − 1
S ′( x0 ) = f 0′ S ′′( x0 ) = f 0′′ S ′( xn ) = f n′ ------(5)
S ′′( xn ) = f n′′ ------(6)
( (p S0 p ) ( x0 ) = Sn −1) ( xn )
------(7)
p = 0 ,1 , 2
一般使用第一、二类边界条件, 常用第二类边界条件. 加上任何一类边界条件(至少两个)后
第二章 函数近似计算的插值法
§ 2.6
样条函数及三次样条插值
§2.6 三次样条插值
样条: 样条 是 指飞机或轮船等的制造过程中为描绘 出光滑的外形曲线(放样)所用的工具.
样条本质上是一段一段的三次多项式拼合而成的曲线 在拼接处,不仅函数是连续的,且一阶和二阶导数也是连续的 1946年,Schoenberg将样条引入数学,即所谓的样条函数
(12)式称为基本方程组
如果问题要求满足第一类(一阶)边界条件:
S ′( x0 ) = f 0′ S ′( xn ) = f n′ mn = f n′
------(5) ------(5)

m0 = f 0′
基本方程组(12)化为n-1阶方程组
2 m1 + µ 1 m2 = g 1 − λ1 f 0′ λ m + 2m + µ m = g k = 2 ,3 ,⋯ , n − 2 k k k +1 k k k −1 λ m + 2m = g − µ f ′ ------(13) n−1 n−1 n−1 n n−1 n−2
j
j
------(2)
x→ x j
S ( x )要满足上述四组(共 4n − 2个)条件 S ( x )在[ a , b]上必 然是分段函数,即 x ∈ [ x0 , x1 ] S0 ( x ) S1 ( x ) x ∈ [ x1 , x2 ] S (x ) = ------(3) ⋮ ⋮ S ( x) x ∈ [ x , x ] n−1 n−1 n
S k ( x )是[ xk , xk + 1 ]上的三次样条插值多项式, 应有4个待定的系数 即要确定 S ( x )必须确定 4 n个待定的系数
少两个条件
并且我们不能只对插值函数在中间节点的状态进行限制 也要对插值多项式在两端点的状态加以要求 也就是所谓的边界条件: 第一类(一阶 边界条件 第一类 一阶)边界条件 一阶 边界条件: 第二类(二阶 边界条件 第二类 二阶)边界条件 二阶 边界条件: 第三类(周期 边界条件 第三类 周期)边界条件 周期 边界条件:

2
令hk = xk + 1 − xk,k = 0 ,1,⋯ , n − 1
加以整理后可得
hk + 2( x − xk ) h − 2( x − xk + 1 ) Sk ( x) = ( x − xk + 1 )2 yk + k ( x − xk )2 yk + 1 hk3 hk3 ( x − xk ) ( x − xk + 1 ) 2 + ( x − xk + 1 ) mk + ( x − xk )2 mk + 1 hk2 hk2 ------(10) 对S k (x )求二阶导数 , 并整理后得 6( xk + xk + 1 − 2 x ) ′ S k′( x ) = ( yk + 1 − yk ) 3 hk 6 x − 2 xk − 4 xk + 1 6 x − 4 xk − 2 xk + 1 + mk + mk + 1 2 2 hk hk

1 hk − 1
1 + 除上式的两边 , 并加以整理 , 得 hk
λk mk − 1 + 2 mk + µ k mk + 1 = g k
其中:
------(12)
k = 1 ,⋯ , n − 1
hk λk = hk + hk − 1
hk − 1 µk = hk + hk − 1
y k − yk − 1 yk + 1 − yk g k = 3( λk + µk ) hk − 1 hk k = 1 ,⋯ , n − 1 共个n − 1个方程 , n + 1个未知量
= g0 = gn
------(17) ------(18)
与基本方程组(12)联合,并化为矩阵形式,得
2 λ1 1 2
λ2
µ1 λ3
2
µ2
2 ⋱ ⋱ ⋱
λn − 1
⋱ 2 µn −1 1 2
m0 g 0 m1 g 1 m2 g 2 ⋮ = ⋮ ⋮ ⋮ mn − 1 g n − 1 m g n n
( 2 ) S ( x )在每个小区间 [ xk , xk + 1 ]上都是三次多项式
则称 S ( x )为区间[ a , b ]上的三次样条函数 ( 3) 如果函数f ( x )在节点x0 , x1 ,⋯ , xn处的函数值为
f ( x j ) = y j , j = 0 ,1,⋯ , n
而三次样条函数 S ( x )满足
x − xk + 1 x − xk + 1 x − x + yk + 1 1 + 2 x − x k k +1 k +1 k
2
2
x − xk x −x k k +1

2
x − xk + 1 x − xk + mk ( x − xk ) x − x + mk + 1 ( x − xk + 1 ) x − x k +1 k k k +1
------(11)
由条件
x → xk
′ ′ lim S k′( x ) = lim S k′− 1 ( x ) + −
x → xk
k = 1 , 2 ,⋯ , n − 1
6 4 2 ′ lim S k′( x ) = 2 ( yk + 1 − yk ) − mk − mk + 1 + x → xk hk hk hk −6 2 4 ′ mk − 1 + mk lim S k′− 1 ( x ) = 2 ( yk − yk − 1 ) + − x → xk hk − 1 hk − 1 hk − 1
这是一个三对角方程组 如果问题要求满足第二类(二阶自然)边界条件:
S ′′( x0 ) = f 0′′ S ′′( xn ) = f n′′
---Байду номын сангаас--(14)
------(6)
f 0′′ = f n′′ = 0时,称为自然边界条件
由(11)式,可知
6( x0 + x1 − 2 x0 ) ′ S0′( x0 ) = ( y1 − y0 ) 3 h0 6 x0 − 2 x0 − 4 x1 6 x0 − 4 x0 − 2 x1 + m0 + m1 2 2 h0 h0 4 2 6 = 2 ( y1 − y0 ) − m0 − m1 = f 0′′ h0 h0 h0
由于以上两式相等,得
1 hk − 1 mk − 1 + 2( 1 hk − 1 1 1 y −y y −y + )mk + mk + 1 = 3( k + 1 2 k + k 2 k − 1 ) hk hk hk hk − 1
共个n − 1个方程 , n + 1个未知量
k = 1 ,⋯ , n − 1
S ( x j ) = y j , j = 0 ,1,⋯ , n
------(1)
则称 S ( x )为 f ( x )在[ a , b ]上的三次样条插值函数
二、三次样条插值构造法 — 三转角方法
a ≤ x 0 , x 1 , ⋯ , x n ≤ b 为区间 [ a , b ]的一个分割 如果函数 f ( x )在节点 x0 , x1 , ⋯ , x n 处的函数值为
确定S ( x )必须确定4n个待定的系数的条件正好也是4n个

lim S ( x ) = lim S ( x ) lim S ′ ( x) = lim S ′ ( x) = m lim S ′′( x) = lim S ′′ ( x) S ′( x ) = f ′ S ′( x ) = f ′ 或
将(13)式化为矩阵形式
2 λ2
µ1 λ3
2
µ2 λ4
2
µ3
2 ⋱ ⋱ ⋱
λn − 2
λn − 1
⋱ 2
m1 g 1 − λ1 f 0′ m2 g2 g3 m3 ⋮ = ⋮ ⋮ ⋮ µ n − 2 mn − 2 gn−2 2 mn − 1 g n − 1 − µ n − 1 f n′
+ x → xk
k
− x → xk
k −1 k −1
k
+ x → xk
k
− x → xk
0
0
n
n
设 S ′( x j ) = m j , j = 0 ,1,⋯ , n
------(9)
逐个求f ( x )在小区间[ xk , xk + 1 ]上的三次插值多项式S k ( x ) 将S k ( x )表示为[ xk , xk + 1 ]上的两点三次Hermite插值多项式
( ( ( ( ( S k (x ) = H 3k ) ( x ) = ykα 0k ) ( x ) + yk + 1α 1k ) ( x ) + mk β 0 k ) ( x ) + mk + 1 β 1 k ) ( x )
x − xk = yk 1 + 2 xk + 1 − xk
相关文档
最新文档