第五章、插值法和曲线拟合
Download
Report
Transcript 第五章、插值法和曲线拟合
第五章 插值和曲线拟合
5.1
5.2
5.3
5.4
引言
插值多项式的构造
分段低次插值
最小二乘法
5.1 引言
定义 5.1 设 y= f(x) 在区间[a,b]上连续,在[a,b]内n+1个互不
相同的点 x0 , x1, xn (a x0 xn b) 上取值 y0 , y1, yn 。
如果存在一性态较好的简单函数P(x),使得
P( xi ) yi
(i 0,1,n)
(5 1)
则称P(x)为f(x)的插值函数。这时,我们称[a,b]为插值区间,
称 x0 , x1 , xn 为插值节(结)点,称(5-1)为插值条件,
f(x)为被插函数。求插值函数P(x)的方法称为插值法。
特别地,当P(x)为次数不超过n次的代数多项式时,相
应的插值法称为多项式插值;当P(x)为三角多项式时,相
应的插值法称为三角插值;当P(x)为分段解析函数时,相
应的插值法称为分段插值。其中三角插值主要用于处理周
期函数。本章仅介绍最基本的多项式插值。
定理 5.1 在 n+1 个互异点 x0 , x1 ,, xn 上满足插值条
件 (5-1) 的次数不超过n次的插值多项式 Pn (x) 存在且惟一。
证 记
n
Pn ( x) ak x k
k 0
即有
( a0 , a1 ,, an 为实数 )
1 x0
x0n a0 y0
n
x1 a1 y1
1 x1
n
y
1 x
a
x
n
n
n
n
n
(5 2)
(5 2)
i 1
因为 A Vn ( x0 , x1 , xn ) ( xi x j ) 0
i 1 j 0
所以,解存在且惟一,这说明由式 (5-2) 表示的 Pn (x) 存在
且惟一,证毕。
5.2 插值多项式的构造
5.2.1 拉格朗日插值多项式
对给定的n+1个次数 n次的插值多项式li ( x) (i 0,1,, n)
1 i j
li ( x j ) ij
i, j {0,1,n}
0 i j
(5 4)
(a x0 xn b)
解 x0 ,, xi 1, xi 1 n , xn 为li ( x) 的零点
li ( x)中含有因式 ( x x j )而此因式已为n次多项式,故应有
j i
j 0
n
li ( x) Ai ( x x j )
j i
j 0
Ai为待定系数
n
再由 1 li ( xi ) Ai ( xi x j )
得
j i
j 0
n
li ( x)
j i
j 0
(x x j )
( xi x j )
Ai
1
n
(x x )
i
j i
j 0
(i 0,1,, n)
j
l0 ( x),l1 ( x),ln ( x) 称为n次拉格朗日(Lagrange)插值基
函数(或称为拉格朗日基本插值多项式)。据之,我们可
构造多项式
n
n
n
i 0
i 0
j i
j 0
Ln ( x) yi li ( x) yi
x xj
xi x j
(5 5)
它称为n次拉格朗日插值多项式
n
引进 n+1 多项式函数 n1( x) ( x x j )
(5 6)
j 0
和 i ( x) n1 ( x) /( x xi )
n
i ( x)
拉格朗日插值多项式可表示为 Ln ( x) yi
i ( xi )
i 0
x x0
x x1
形为
L
(
x
)
y
y
n=1时称为线性插值,
1
0
1
x0 x1
x1 x0
n=2时称为抛物插值。
定理 5.2 (误差估计定理)
设 f ( n ) ( x) 在[a, b]上连续,f ( n 1) ( x)在(a, b)上存在,
a x0 x1 xn b, Ln ( x) 为满足插值条件
Ln ( xi ) yi (i 0,1, , n)
的 n 次拉格朗日插值多项式,
则存在 ( x) (min(x0 , x), max(x, xn )) (a, b)
f ( n 1) ( )
使得 Rn ( x)
n 1 ( x), x [a, b]
(n 1)!
(5 7)
这里 Rn ( x) f ( x) Ln ( x) 称为用Ln ( x)近似代替f ( x)的
截断误差,或称为Ln ( x)的(插值)余项。
注 (1)余项公式主要用于理论分析。实际使用时,代
之以误差估计式
M n 1
Rn ( x)
n 1 ( x)
(n 1)!
(2)插值节点的选取应尽量靠近插值点,以使 n1 ( x)
尽可能小,以减小误差。
推论 若 f ( x) 为次数不超过n 次的多项式,则
f ( x) Ln ( x)
n
特别地
l ( x) 1
i 0
i
例 5.1 给定函数表
x
1.2
1.3
1.4
1.5
1.6
1.7
lnx 0.182322 0.262364 0.336472 0.405465 0.470004 0.530628
试分别用线性插值和抛物插值求ln 1.46的近似值并估计误差。
解
作线性插值 得
1.46 1.5
1.46 1.4
ln 1.46
ln 1.4
ln 1.5 0.377868
1.4 1.5
1.5 1.4
0.51002
误差为 R1
(1.46 1.4)(1.46 1.5) 6.12 10 4
2!
作抛物插值 得
(1.46 1.5)(1.46 1.6)
(1.46 1.4)(1.46 1.6)
ln 1.4
ln 1.5
(1.4 1.5)(1.4 1.6)
(1.5 1.4)(1.5 1.6)
(1.46 1.4)(1.46 1.5)
ln 1.6 0.378402
(1.6 1.4)(1.6 1.5)
0.7289
误差为 R2
(1.46 1.4)(1.46 1.5)(1.46 1.6)
3!
4.1105
ln 1.46
精确值为ln1.46 0.37843643
5.2.2 牛顿均差插值多项式
定义 5.2(均差)
设 f ( x) 在区间[a, b] 上连续, 若 x0 [a, b], 则定义
g1 ( x)
f ( x) f ( x0 )
x x0
( x x0 ; x [a, b])
为 f ( x) 在[a, b] 上关于点x0 的一阶均差函数, 记为 f [ x0 , x]; 特别地, 称
f [ x0 , x1 ] g1 ( x1 )
f ( x1 ) f ( x0 )
x1 x0
( x1 x0 ; x1 [a, b])
为 f ( x) 关于点 x0 , x1 的一阶均差。
进一步, 我们定义
g 2 ( x)
g1 ( x) g1 ( x1 ) f [ x0 , x] f [ x0 , x1 ]
x x1
x x1
( x x0 , x1 ; x [a, b])
为 f ( x) 在 [a, b] 上关于点 x0 , x1 的二阶均差函数, 记为
f [ x0 , x1 , x]; 特别地, 称
f [ x0 , x1 , x2 ] g 2 ( x2 )
f [ x0 , x2 ] f [ x0 , x1 ]
( x2 x0 , x1 ; x2 [a, b])
x2 x1
为 f ( x) 关于点 x0 , x1, x2 的二阶均差。
一般地,对于[a, b] 上的互异点 x0 , , xk 1和 k 1阶
均差函数g k 1 ( x) f [ x0 , , xk 2 , x], 定义
g k 1 ( x) g k 1 ( xk 1 )
g k ( x)
x xk 1
f [ x0 , , xk 2 , x] f [ x0 , , xk 2 , xk 1 ]
x xk 1
( x x j ; j 0,1, , k 1; x [a, b])
为 f ( x) 在 [a, b] 上关于点x0 , xk 1 的 k 阶均差函数, 记为
f [ x0 , , xk 1 , x]。特别地, 称
f [ x0 , , xk 1 , xk ] g k ( xk )
f [ x0 , , xk 2 , xk ] f [ x0 , , xk 2 , xk 1 ]
xk xk 1
( xk x j ; j 0,1, , k 1; xk [a, b])
为 f ( x) 在点 x0 , xk 上的 k 阶均差。
均差又称为差商, 点 x0 , x1 , , xk 称为均差的节点。
例 5.2 给定表格函数
0
1
2
3
4
5
6
7
x
f(x) 10 7 -3 -19 -39 -59 -71 -59
试求均差 f [0,4], f [0,2,4], f [0,2,4,8]
解 首先由定义得
8
9
f (4) f (0)
12.25
40
f (2) f (0) 3 10
再由 f [0,2]
6.5
20
2
f [0,4] f [0,2]
得 f [0,2,4]
2.875
42
f (8) f (0)
又由 f [0,8]
0.125
80
f [0,8] f [0,2]
得 f [0,2,8, ]
1.0625
82
f [0,2,8] f [0,2,4]
所以 f [0,2,4,8]
0.984375
84
f [0,4]
均差的性质:
(1)
k
f [ x0 , x1 , , xk ]
i 0
f ( xi )
(5 12)
k
(x x )
i
j
j i
j 0
由此知,均差与节点的排列顺序无关,即有
f [ x0 , x1 , , xk ] f [ xi0 , xi1 , , xik ]
(i0 , i1 , ik 为 0,
1,
k 的任一排列)
这性质又称为均差关于自变量对称
(2) 若 Pn ( x) 为n 次多项式,则其k 阶均差函数Pn [ x0 ,, xk 1 , x]
当 k n时为n k 次多项式,当k n时恒为零。
(3) 若 f ( x) 在区间[a, b] 上一阶导数连续,
x j [a, b]( j 0,1, n)互异,
则定义带重节点的均差
f [ x0 , x0 , x1 , x n ] lim f [ x, x0 , x1 ,, x n ],则
x x0
f [ x0 , x0 , x1 ,, x n ] f ' [ x1 ,, x n , x]
x x0
例 5.3 试用列表法对例5.2的表格函数求 f[1, 3, 5, 7]
解 列表计算得
xi
f(xi)
1
3
5
7
7
-19
-59
-59
一阶均差 二阶均差
-13
-20
0
所以 f [1, 3, 5, 7] = 1.125
-1.75
5
三阶均差
1.125
由均差定义,我们有
f ( x) f ( x0 ) f [ x0 , x](x x0 )
(5 13)
f [ x0 , x] f [ x0 , x1 ] f [ x0 , x1 , x](x x1 )
(5 14)
f [ x0 , x1 , x] f [ x0 , x1 , x2 ] f [ x0 , x1 , x2 , x](x x2 )
(5 15)
f [ x0 , , xn 1 , x] f [ x0 , , xn ] f [ x0 , , xn , x](x xn )
(5 16)
把(5 14)代入(5 13)得
f ( x) f ( x0 ) f [ x0 , x1 ](x x0 ) f [ x0 , x1 , x](x x0 )(x x1 )
记为N1 ( x) R1 ( x)
(5 17)
再把(5 15)代入(5 17)得
f ( x) f ( x0 ) f [ x0 , x1 ](x x0 ) f [ x0 , x1 , x2 ](x x0 )(x x1 )
f [ x0 , x1 , x2 , x](x x0 )(x x1 )(x x2 )
N 2 ( x) R2 ( x)
这里N 2 ( x) N1 ( x) f [ x0 , x1 , x2 ](x x0 )(x x1 )
2
2 1
k 1
j 0
f ( x0 ) f [ x0 , x1 , , xk ] ( x x j )
一般地,f ( x) N n ( x) Rn ( x)
(5 18)
n
N n ( x) f ( x0 ) f [ x0 , x1 , xk ]k ( x)
k 1
N n 1 ( x) f [ x0 , x1 ,, xn ]n ( x)
(5 19)
k 1
其中k ( x) ( x x j ) (k 1,2, n)
j 0
Rn ( x) f [ x0 , x1 ,, xn , x]n 1 ( x)
称为 N n ( x) 近似 f ( x)的余项。
(5 20)
下面证明N n (x) 是一个插值多项式。
证 Ln ( xi ) f ( xi ) (i 0,1,, n)
Ln [ x0 , x1 , , x k ] f [ x0 , x1 , , x k ] (k 1,2, , n)
又 Ln [ x0 , x1 , , x n , x] 0
n
故 Ln ( x) Ln ( x0 ) Ln [ x0 , x1 , , x k ] k ( x) Ln [ x0 , x1 , , x n , x] n 1 ( x)
k 1
n
f ( x0 ) f [ x0 , x1 , x k ] k ( x) 0
k 1
N n ( x)
Nn(x)称为牛顿均差插值多项式。
f ( n 1) ( ( x))
进而, 由
n 1 ( x) f [ x0 , x1 ,, xn , x]n1 ( x)
(n 1)!
f ( n 1) ( ( xn 1 ))
得 f [ x0 , x1 ,, xn , xn 1 ]
( ( xn 1 ) ( x0 , xn 1 ))
(n 1)!
f ( n ) ( )
从而,f [ x0 , x1 , xn ]
( ( x0 , xn ))
(5 21)
n!
实际用N n ( x) 近似 f ( x) 时,我们可选取适当的节点xn 1近似地
估计误差,即有
~
Rn ( x) f [ x0 , x1 , , xn , xn 1 ]n 1 ( x)记为 Rn ( x)
(5 22)
此外,我们可利用插值多项式进行“反插”计算。
例 5.4 给定表格函数
x
1
2
3
4
5
f(x)
0.5
0.175 1.31 -1.495 10.36
(1)试用二次牛顿均差插值法求 f (2.8) 的近似值;
(2)设 f (x)=-1.166 已知,试用(1)中构造的插值多项
式求 x 的近似值。
解 (1) N 2 (2.8) 0.175 1.135(2.8 2) 1.97(2.8 2)(2.8 3)
1.3982
f (2.8) N 2 (2.8) f [2,3,4,1](2.8 2)(2.8 3)(2.8 4)
0.9 0.8 (0.2) (1.2)
0.1728
(2) 由0.175 1.135
(x 2) 1.97
(x 2)
( x 3) 1.166
整理得 1.97x 2 10.985x 12.749 0
解得 x1 3.929,x 2 1.647 (超出区间[2,
4],舍去)
故所求解为x 3.929
5.3 分段低次插值(略)
5.4 最小二乘法
最小二乘法的提出
数据的多项式最小二乘拟合
5.4.1
5.4.2
给定 n 组数据( xi , yi ) (i 1,2, , n) , 求 m 次多项式
m
P ( x) ak* x k
( m n)
(5 27)
使 F (a0* , a1* , , am* ) min F (a0 , a1 , , am )
(5 28)
*
m
k 0
n
m
i 1
k 0
这里 F (a0 , a1 , , am ) ( ak xik yi ) 2 称为 方差。
解
由驻点方程
n
m
F
2[ ak xik yi ]xil 0 (l 0,1,2, , m)
al i 1 k 0
m
整理得
n
x
k 0 i 1
k l
i
n
ak xil yi (l 0,1, , m)
i 1
(5 29)
na0
n
即 ( xi )a 0
in1
m
(
x
i )a 0
i 1
引进记号
n
( xi )a1
( x ) a m
( x )a1
( xim 1 )a m
i 1
i 1
n
i 1
n
2
i
( xim 1 )a1
i 1
n
i 1
n
k
S
x
k
i
i 1
n
Tk xik yi
i 1
可简写成
S0
S1
S
m
n
S1
S2
S m 1
n
m
i
( xi2 m )a m
i 1
n
y
i 1
n
i
x y
i 1
n
i
m
x
i yi
i 1
(k 0,1,,2m)
(5 30)
(k 0,1,, m)
S m a0 T0
S m 1 a1 T1
S 2 m am Tm
它称为法方程组(或正规方程组)。
i
(5 31)
例 5.5 试对以下数据进行多项式拟合
xi
yi
1
2
3
4
5
6
7
1.1 3.8 8.7 15.6 24.6 37.4 49.6
8
64.2
解 令 P( x) a0 a1 x a 2 x 2 , 计算得
S 0 8 , S1 36 , S 2 204 , S 3 1296, S 4 8772,
T0 205, T1 1305.4 , T2 8844.8
从而建立法方程组
36
204 a0 205
8
36 204 1296 a1 1305.4
204 1296 8772 a 8844.8
2
解得 a0 0.1143, a1 0.0548, a2 1.0190
故 P( x) 0.1143 0.0548x 1.0190 x 2
当拟合多项式中x 的某些幂次不出现时,相应的法方程组
即等于从原法方程(5 31)去掉相应的行列后所得到的方程组。
例如,当拟合函数为Q3 ( x) a1* x a3* x 3 时,可从不缺项的法方
程组
S0
S1
S
2
S
3
S1
S2
S3
S4
S2
S3
S4
S5
S3 a0 T0
S 4 a1 T1
S 5 a2
T
2
S 6 a3 T3
去掉第一,三行和一,三列得到方程组
S2
S4
S 4 a1 T1
S 6 a3 T3
(5 32)
当拟合函数为 Q2 ( x) a0* a2* x 2 时,相应的法方程组为
S0
S1
S
2
S1
S2
S3
S 2 a0 T0
S3 a1 T1
S 4 a2 T2
S0
S2
S 2 a0 T0
S 4 a2 T2
即
(5 33)
~
当拟合函数为 Q2 a* x b* x 2 时,相应的法方程组为
S2
S3
S3 a T1
S 4 b T2
(5 34)
例 5.6 用最小二乘法求形如 y = ax + bx2 的多项式,使与下
列数据拟合(得数保留三位小数)
x
y
-2
1.9
0
0
1
5.1
2
13.8
解 S 2 9,S 3 1 ,S 4 33 ,T1 28.9 ,T2 67.9
9 1 a 28.9
相应的法方程组为
1 33 b 67.9
解得 a 2.993,b 1.967
故所求拟合多项式为 y 2.993x 1.967x 2
例 5.7 给定数据
x
-5
y
52.6
0
3.4
1
5.5
2
10.5
试求形如 y = a + bx2 的拟合多项式(得数保留三位小数)。
解 S 0 4 ,S 2 30 ,S 4 642,T0 72 ,T2 1362.5,
相应的法方程组为
4 30 a 72
30 642 b 1362.5
解得 a 3.207,b 1.972
因此,所求拟合多项式为 y 3.207 1.972x 2
5.4.3
最小二乘法的应用例
5.4.3.1 数据的指数拟合
例 5.8 试对下表数据进行指数拟合
xi
1
2
3
4
5
yi
15.4 20.4 26.8 37.2 48.8
6
63.3
解 首先根据 yi 的值算出zi ln yi(i 1,
2,
,
6),列出下表。
xi
1
2
Zi=ln yi 2.7344 3.0155
3
4
3.2884 3.6163
5
6
3.8877
4.1479
令 z ( x) a0 a1 x, 对数据(xi , z i ) (i 1,2,,6) 进行线性拟合
6 21 a0 20.6902
建立法方程组
21 91 a1 77.4217
解出 a0 2.44717, a1 0.286061
所以 z ( x) 2.44717 0.28606x
y ( x) e z ( x ) 11.55556e 0.28606 x
5.4.3.2 超定方程组的最小二乘解
Ax b 的法方程的形式为
(AT A) x AT b
(5 39)
例 5.9 试求以下超定方程组的最小二乘解。
1.2 x 2 1.6
x1
2.1x 2 x
2.4
1
2
x2
2
3x1
1.5 x1
x2
2
解
因为
16.6 9.9 T
15.64
, A b
A A
9.9 7.44
10.73
16.6 9.9 x1 15.64
所以法方程为
9.9 7.44 x 2 10.72
解得 x1 0.4014,x 2 0.9067。
T