当前位置:文档之家› 计算方法分段线性_三次样条插值

计算方法分段线性_三次样条插值

S(xi 0) S(xi 0) i 1,2, … , n 1
S(xi 0) S(xi 0) 不包括端点a, b
上述二式共给出了4n-2个条件,而待定系数有4n
个,因此还需要2个条件才能确定S(x)。
x0 x1 x2 x3 x4 x5
x6 x
通常在区间端点 a x 0, b x n上各加一个条件,
S(x),S' (x),S' ' (x)
在a, b 上连续)
三次样条函数插值
则称S(x)为三次样条插值函数。
比线性插值要求严 苛得多!
y
y=f(x) (黑色)
y=S(x) (蓝色)
x0
xi
xi+1
xn
x
问题:这个S(x)是三次样条插值函数吗?
回答:不是。 原因: 1)在每个区间内都是3次多项式; 2)在小区区间端点xi处连续并且:f(xi)=S(xi) ; 3)S”(x)在xi 点不连续,即不光滑。

x 0
1 f(0) 1
x 1

0 0
f(1)

1 x
x 2


x 2
1
在[1,2]上,
S(x)

x 1

2 2
f(1)

x 1 f(2) 21


1 2
(x
2)
1 (x 5
1)
3 x4 10 5
在[2,3]上,
S(x)

x 2

3 3
f(2)

1 2
,
f(5)

148 17576
max | f(x) S(x) | 2 h2 1 h2 1
a x b
8
4
4
综上可得 max | f(x) S(x) |
2 h2

1
a x b
8
4
y
y=S(x):分段线性函数
y

1 1 x2
1 23 45 x
现象:在[0, 1]上逼近效果最差,在其 它区间,逐渐变好。
满足自然边界条件的三次样条插值函数称为自然 样条插值函数。
• 这样,由上给定的任一种边界条件加上插值条 件和连接条件,则得出4n个方程,可以唯一确 定4n个系数。
• 从而得到三次样条插值函数S(x)在各个子区间 xi , xi+1上的表达式S(xi)(i=1,2,…,)。
• 但是,这种做法当n较大时,计算工作量很大, 不便于实际应用。
能产生多 少个方程?
2)要求 S(x),S' (x),S' ' (x) 在整个插值区间a, b
上连续,因此在连接点 x1, … , x n1 上连续。
满足条件: 1)插值条件(n+1个节点)
S(xi ) f(x i ), i 0,1, … , n
2)连接条件(3n-3个节点) S(xi 0) S(xi 0)
0x
1
设 | f(4)(x) | 1, x (0,1)
则3次插值多项式的误差
|
R(x)
||
f(4)(ξ) (x 4!

x0 )(x

x1)(x

x2 )(x

x3 )
|
41!| (x x0 )(x x1)(x x2 )(x x3 ) |

41!
1 3

1 3

2 3

1
• 希望找到一种方便计算机计算简单的构造方法 -显式方法。
2.5.2 三次样条插值函数的求法
记:
S(xi )

f(x i )

yi;
Si (x)

Mi 1
(xi x)3 6hi
hi xi xi1
计算方法 (Numerical Analysis)
第3次 分段线性插值与三次样条插值
内容
1. 高次插值的龙格现象 2. 分段线性插值与误差估计 3. 三次样条插值与误差估计
高次插值的龙格现象
2.4.1 高次插值的龙格现象
插值多项式余项公式
R(x)

f(n1)(ξ) (x (n 1)!
x x2 x3 x2
f(x3 )

2 3 60
x

33 2
2
将各小区间的线性插值函数连接在一起,得

2 1x 3
30
2
2
S(x)



3 2x2 23
30
2
3
2
3 60
x

33 2

2
30 x 45 45 x 60 60 x 90
因此,次数太高的高次插值多项式往往并不实用, 因为节点数增加时,计算量增大了,但插值函数 的精度未必能够提高。称为龙格现象。
Home
分段线性插值与误差估计
为克服龙格现象,可以采用分段插值的方法:
• 将插值区间分成若干个小的区间,在每 个小区间进行线性插值,
• 然后相互连接,用连接相邻节点的折线 逼近被插函数
Home
三次样条插值与误差估计
2.5.1 三次样条函数
在船体、飞机等外形曲线的设计中,不仅要求曲 线连续,而且要有二阶光滑度,即有连续的二阶导 数。
要求分段插值函数在整个区间上具有连续的二 阶导数。
因此有必要寻求一种新的插值方法,这就是样条 函数插值法
样条函 数来历
定义5.4 . 设函数f(x)定义在区间a, b上,在给定

x0 )(x

x1)
(x

xn ),
ξ (a, b)
例:设函数f(x)定义在区间[0, 1]上 ,并且满足 |f(4) (x)|<1,xϵ[0, 1]。在4个插值节点 x0=0, x1=1/3, x2=2/3, x3=1, 对f(x)进行插值得多项式P3(x),估计误差。
下面讨论误差的情况:
|
f(x)

S(x)
||
f(ξ) 2!
(x
-
xk )(x
-
xk 1)
|

g(x)

(x - xk )(x - xk1), 解g(x)

0,得x*

xk
xk1, 2
得知x*是g(x)的极值点,将x*代入g(x):
g(x* )

(x *
- xk )(x*
- xk1)

1 2
(x k 1
考察函数
f(x)

1 1 x2
,
5 x 5
右图给出了 P5 (x )
y P10(x)
和 P10(x ) 的图像,当n
f(x)
增大时,Pn(x ) 在两端
会发生激烈的振荡,
称为龙格现象。
P5(x)
-5
0
5x
该现象表明:在大范围内使用高次插值,逼近的 效果往往是不理想的。
另外,从舍入误差来看,高次插值误差的传播也 较为严重,一个节点上产生的舍入误差会在计算 中不断放大,并传播到其它节点上。
x4 5-4
f(5)


1 17
(x

5)
1 (x 26

4)
9 x 31 442 221
将这些分段线性函数拼接在一起,得:
S(x)


x 2
1,x
[0,1]
S(x) 3 x 4 , x [1,2]
10
5
S(x)


1 10
x

2 5
,
x
[2,3]
S(x) 7 x 19 , x [3,4]

2 648

0.0031
但是当区间[a, b]比较大的时候,误差可能很大。
影响误差的因素:一般地说
• 插值节点的个数:插值节点越多,即使用高 次插值,误差越小
• f(x)的高阶导数绝对值:越小,误差越小
适当提高插值多项式的次数,有可能提高 计算结果的准确程度,但并非次数越高越 好。
当插值节点增多时,也不能绝对保证非节 点处的插值精度得到改善,有时反而误差 更大。
S1(x)

x xk
xk1 xk1
f(x k )

x xk xk1 xk
f(x k1)
(xk x xk1)
在几何上就是用折线替代曲线,如图所示。
y
y=f(x)
y=p(x)
x0 x1
x2
xn x
例2.19 已知f(x)在四个节点上的函数表如下:
xi
30 45 60 90
f(x)
S(x)
|
M2 2
max
xk xxk 1
|
(x
-
xk )(x
-
xk1)
|
max | f(x) S(x) | M2 h2
a x b
8
其中:
M2
max | f(x) |, a x b
h mkax(xk1 - xk )
证明: 当x [xk , xk1]时,
Si(x) ai0 ai1x ai2x2 ai3x3 i 0,1,...n, 1
分析:待定系数:ai 0, ai 1, ai 2, ai 3 ,n个子区间,要
确 定S(x),需要确定4n个待定系数。
已知: 1)要求 S( xi )= f ( xi ), i = 0, 1,…, n
相关主题