Professional Documents
Culture Documents
在实际问题中,对所构造的插值多项式,不仅要求
函数值重合,而且要求若干阶导数也重合。
即:要求插值函数 P (x) 满足 p (xi) = f (xi), P’ (xi) =
其中 i ( x j ) i j , i ( x 1 ) 0 , 1 ( x j ) 0 , 1 ( x 1 ) 1
0(x) 有根 x , x ,且 (x1) = 0 x1 是重
1 2 0
根。
α0(x)=C 0(x-x1) (x-x2)
2
2
(xx
1(
) xx
)
又 : α0(x0) = 1 C0
(
0x)
2
2
(
x0 1(
x) x0x
2)
α2(x) 与 α0(x) 完全类似。
α1(x) 有根 x0, x2 α1(x)=(Ax+B)(x-x0)(x-x2)
由余下条件 α (x ) = 1 和 α ’(x ) = 0 可解。
1 1 1 1
例:设 x0 x1 x2, 已知 f(x0) 、 f(x1) 、 f(x2) 和
f ’(x1), 求多项式 P(x) 满足 P(xi) = f (xi) , i = 0,
1, 2 ,且 P’(x1)2 = f ’(x1), 并估计误差。
P3 ( x )
i0
f ( x i ) i ( x ) f ( x1 ) 1 ( x )
其中 i ( x j ) i j , i ( x 1 ) 0 , 1 ( x j ) 0 , 1 ( x 1 ) 1
β1(x) 有根 x0, x1, x2 ( x ) C ( x x ) ( x x ) ( x x )
1 1 0 1 2
R 3 ( x ) f ( x ) P 3 ( x ) K ( x )( x x 0 )( x x 1 ) 2 ( x x 2 ),
(4)
f ( x ) 与 Lagrange
K (x)
4! 分析完全类似
一般地,已知 x0 , …, xn 处有 y0 , …, yn 和 y0’ , …,
yn’ ,求 H2n+1(x), 满足 H2n+1(xi) = yi , H’2n+1(xi) =
n n
y解:设
i’ 。 H 2 n 1 ( x )
i0
y i i ( x ) y i i ( x )
i0
其中 i ( x j ) i j , i ( x j ) 0 , i ( x j ) 0 , i ( x j ) ij
(xx
j)
αi(x) 有根 x0 , …, xi-1 , xi+1 …, xn 且都是li()
2x重根i(x
j ix
j)
2
i ( x ) ( A i x B i )li ( x )
由余下条件 αi(xi) = 1 和 αi’(xi) = 0 可解 Ai 和 Bi
?
2
i ( x ) [1 2 l i ( x i ) ( x x i ) ] l i ( x )
其中 i ( x j ) i j , i ( x j ) 0 , i ( 一
x j ) 0 , i ( x j ) ij
(
xx
)
(x
)
l
i(
x) 2
ii
2n
设 a x 0 x 1 ... x n b , f C [a , b ] 则
(2n2) 2
f ( x ) n
Rn ( x )
( 2 n 2 )! i 0
( x x i )
i ( x ) [1 2 l i ( x i ) ( x x i ) ] l i2 ( x )
(xx
)
(
x)
l(
x) i
2
ii
两点三次 Hermit 插值算例
n n
H (
x)
y(x)
y
已知对数函数在两点处的值及导数值
2
n
1 (x
)
i
0
ii
i
0
ii
x 1 2
y 0 0.693147
y¢ 1 0.5
H ' ( x i ) N m ( x i ) P m ( x i ) n 1 ( x i ) y i
所以
y i N n ( x i )
Pm ( x i ) i = 0, 1, 2,…,
n 1 ( x i )
1.5
n 越大,
1 端点附近抖动
越大,称为
0.5
Runge 现象
0
-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
Runge 现象 1901 年, Runge
1
例: f ( x ) 2
x [ 1,1 ]
1 25 x
等距节点构造 10 次 Lagrange 插值多项式L 1 0 ( x )
等距高次插值,数值
稳定性差,本身是病
分段低次插值 态的。
5.5.2 分段线性插值
在每个区间 [ x i , x i 1 ] 上,用 1 阶多项式 ( 直
线 ) 逼近 f (x):
x x xx
f(
x)
P
1(x ) i1
y
i
i
y
i
1 x [ x i , x i1 ]
x
i i x
1 x
i
1ix
一
记h m a x | x i 1 x i | P 1h ( x )
h 0 ,易 致
f (x)
证:当 y 时, y= f(x)
y=p(x)
o x
误差
f(2)()
f()
x px
n() (xx
i)
(xx
i
1)
2 !
2
M
2x 1x
i
i
x [ x i , x i1 ]
2 2
M 2 h2 M 2 2
f ( x) pn ( x) h
2 4 8
可以看出 p n ( x ) f ( x ) , n
分段二次插值
在每个区间 [ x i , x i 2 ] 上,用 2 阶多项式 ( 抛物
线 ) 逼近 f (x):(
x x )
(
x
x )( xx)
(x
x )
f
(
x)
P
(
x
2)
y
i y
i
1
i
1 i
2 i i
2
(
x
ixi
1)
(x
ixi
2) (x
i
1x
)
(x
ii
1x
i
2)
(x
x) (
x x )
i i
1
y
i
2
(
xi
x
2 i)(
xi
x
2 i
1)
y y= f(x)
x [ x i , xi 2 ]
y=p(x
)
o x
分段一次、二次插值
简单易行。
失去了原函数的光滑性。
5.5.3 分段三次 Hermite 插值
给定 x 0 , . . . , x n ; y 0 , . . . , y n ; y 0 , . . . , y n
在 [ x i , x i1 ] 上利用两点的 y 及 y’ 构造
3 次 Hermite 函数
n
y y i 1
在 [a, b] 上 S 3 ( x ) [ y i i ( x ) y i i ( x )] i
i0 yi yi+1
在 [xi, xi+1] 上 xi xi+1
S 3 ( x ) y i i ( x ) y i 1 i1 ( x ) y i i ( x ) y i 1 i 1 ( x )
2
i ( x ) [1 2 l i ( x i ) ( x x i ) ] l i ( x ) x x i 1
li ( x )
x i x i 1
(
xx
)
(
ix
)
l(
x) 2
ii
分段 Hermite 插值
一阶光滑度 , 改善了精度。
算法复杂 , 导数一般不易得到。
5.6 样条插值
5.6.1 插值问题与插值条件
要求:插值曲线既要简单,又要在曲线的连接
处比较光滑。
这样的分段插值函数在分段上要求多
项式次数低,而在节点上不仅连续,还存在
连续的低阶导数,我们把满足这样条件的插
值函数,称为样条插值函数,它所对应的曲
线称为样条曲线,其节点称为样点,这种插
值方法称为——样条插值。
例 1. 如图 , 一均匀弹性弦两端固定于两点 A(a,0),
a x 0 x1 x 2 x n b
B(b,0) 在区间 [a, b] 内取点列
并在内结点集上分别 y
y y x
给集中载荷
q x j q j , j 1, 2 , , n 1,
则载荷分布 q q x 0
x0 a xn
x
b
可表为 n 1
q x q j x x j ,
j 1
其中 x x j x xj
是集中于结点 的点
脉冲函数 .
事实上 , 在小变形和均匀分布外力假设下 , 上述
弦的平衡问题的微分方程模型乃是两点边值问题
y q , x a , b ;
y a y b 0.
现在是作用离散的集中力 , 此时弦达到平衡状态
y x
时位移函数 应满足 n 1
n 1 q x q x x
j j
y x q x x ,
j 1
j j j 1
y x0 y x n 0.
因此有
y x 0 , x x j 1 , x j , j 1, 2 , , n .
n 1
y x q j x x ,
j
j 1
y x0 y xn 0.
这意味着 :
在每一加载点 xj 处 y (x) 脉冲间断 ;
y’(x) 是阶梯函数 ;
y(x) 是分段线性的连续函数 , 在每一内结点转
折灵活 .
a b
定义:设对 y = f (x) 在区间 [a, b] 上给定一组节点
a = x0 < x1 < x2 <…< xn = b 和相应的函数值 y0, y1,…, yn ,
如果 S(x) 具有如下性质:
( 1 )在每个子区间 [xi-1, xi] (i = 1, 2,…, n) 上 S(x) 是
不高于三次的多项式;
( 2 ) S(x) , S’(x) , S (x) 在 [a, b] 上连续;
其中 h i x i 1 x i xi-1 xi xi+1
6 x 2 x i 1 4 x i 6 x 4 x i 1 2 x i 6 ( x i 1 x i 2 x )
S ( x ) 2
m i 1 2
mi 2
( y i y i 1 )
hi 1 hi 1 hi 1
1 1 1 1 y i 1 y i y i y i 1
m i 1 2 m i m i 1 3
hi 1 hi 1 hi hi hi hi 1
hi 1
整理
ai
hi 1 hi i(xx
) (
x )
iil2
(
x)
(1 a i ) m i 1 2 m i a i m i 1 b i (xx )2
(xx) i
1
i 1, 2 , , n 1 i
(xx) 2
i i
1
(1 a i ) m i 1 2 m i a i m i 1 b i i 1, 2 , , n 1
S ( x 0 ) m 0 y 0 , S ( x n ) m n y n
2 a1 m1
1 a 2 a2 m
2 2
1 an 2 2 an 2 mn 2
1 an 1 2 mn 1
b1 (1 a1 ) y0
b
2
bn2
bn1 an 1 yn
5.6.2 三弯矩方程
设 f (x) 是定义在 [a, b] 区间上的一个二次连续可微
函数, 为分划:
a x 0 x1 x 2 x n b
令 M i S ( x i ) i = 0, 1, 2,…, n
S(x) 在每一个小区间 [xi, xi+1] i = 0,…, n-1 上都是
三次多项式,
S (x) 在 [xi, xi+1] 上的表达式为:
x i 1 x x xi
S ( x ) M i M i 1
hi hi
其中 h i x i 1 x i
x i 1 x x xi
将 S ( x ) M i M i 1 两次积分得:
hi hi
( x i 1 x ) 2 ( x xi ) 2
S ( x ) M i M i 1 Ai
2 hi 2 hi
( x i 1 x ) 3 ( x xi )3
S (x) M i M i 1 Ai ( x x i ) B i
6 hi 6 hi
Ai 和 Bi 为积分常数。
因为 S ( xi) yi, S ( x i1 ) y i1
所以它满足方程:
Mi 2
6 hi Bi yi
M i 1 h 2 A h B y
6 i i i i i 1
yi 1 yi hi
Ai hi
( M i 1 M i )
6
B y M i h2
i i
6
i
( x i 1 x ) 3 ( x xi ) 3
S ( x) M i M i 1 (*)
6 hi 6 hi
M i 2 xi 1 x M i 1 2 x xi
yi hi y i 1 hi ( i 1, 2, , n 1)
6 hi 6 hi
xi-1 xi xi+1
( xi x ) 2 ( x x i 1 ) 2 y i y i 1 M i M i 1
S ( x ) M i 1 Mi h i 1
2 hi 1 2 h i 1 hi 1 6
于是 hi 1 y i y i 1 M i M i 1 hi y i 1 y i M i 1 M i
M i 1 hi 1 M i hi
2 hi 1 6 2 hi 6
整理
i 1, 2 , , n 1
(1 a i ) M i1 2 M i aiM i1 bi i 1, 2 , , n 1
S ( x 0 ) M 0 y 0 , S ( x n ) M n y n
2 a1 M1
1 a 2 a2 M
2 2
1 an 2 2 an 2 M n 2
1 an 1 2 M n 1
b1 (1 a1 ) y0
b
2
bn2
bn1 an 1 yn
算 法:
( 1 ) i = 1, 2, …, n-1
hi = xi+1 – xi
( 2 ) i = 1, 2,…, n-1
hi
ai
h i 1 hi
6 y i 1 y i y i y i 1
bi
hi 1 h i hi hi 1
( 3 )解 n – 1 阶三对角方程组,得
M1 , M2 ,…, Mn-1
代入端点条件计算 M0 , Mn
3 3
( x
( 4 ) S ( x ) M i i 1 x ) ( x x )
M i 1 i
6 hi 6 hi
M i 2 x i 1 x M i 1 2 x x i
yi hi y i 1 hi
6 hi 6 hi
若取 x xi Si(x)
,计算
相同数据 3 次样条插值与 Lagrangr 插值效果比较
(Copied from R.L.Burden & J.D.Faires, Numerical
Analysis):