插值法
设 f ( x )在[a, b]上连续可微, 则将f ( x )在x = a处作Taylor展开, 得
f ( x ) = f (a ) + f ′(ξ )( x − a ), a < ξ < x ,
两边积分,得
∫
b
a
f ( x )dx = ∫ f (a )dx + ∫ f ′(ξ )( x − a )dx ,
可验证
16 1 Cn = S2 n − Sn , 15 15
其中C n为复化Cotes法的积分值.
64 1 Rn = C2n − Cn . 63 63 例.
表 4 − 4( P 89)
------ Romberg公式
(达到准确值 !)
3. Richardson 外推加速 法
实际上,使用Romberg公式提高精度的过程还可继续下去, 其理论依据是梯形公式的余项可展成下列级数的形式:
Δ
(4.3.9) (4.3.10)
= I + β 1 h4 + β 2 h6 + β 3 h8 + "
(此时消去了主要部分h2 项)
Δ
比较 (4.3.9)和(4.3.4), 即知上述方法得到的{T1 ( x )} 是
Simpson值序列.
根据(4.3.10),又有
⎛ h⎞ ⎛ h⎞ ⎛ h⎞ ⎛ h⎞ T1 ⎜ ⎟ = I + β 1 ⎜ ⎟ + β 2 ⎜ ⎟ + β 3 ⎜ ⎟ + " ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠
Romberg 算法:
所谓Romberg算法,就是在二分过程中逐步形成T 数表的具体 的方法,其具体步骤为: ( P 91) b−a (0) 步1. (初始步 ). 计算 T0 = f (a ) + f (b )] , 给点精度ε > 0, [ 2 令k = 1. 步 2. (求梯形值 ). 按递推公式(4.3.1)计算梯形值T0( k ) . 步 3. (求加速值 ). 按加速公式(4.3.13)逐个计算T 数表第k + 1 行其余各元素T j( k − j ) ( j = 1, 2," , k ).
0
4.2 Newton-Cotes 公式
1. Cotes 系数
n 1 2 3 4 5 6 7 8
Cotes系数表
1 1 2 2 1 4 1 6 6 6 1 3 1 8 8 8 7 32 12 32 90 90 90 90 19 75 50 50 288 288 288 288 41 216 27 272 840 840 840 840 751 3577 1323 2989 17280 17280 17280 17280 989 5888 928 10496 − 28350 28350 28350 28350
复化求积法的基本思想: 将积分区间分成若干个子区间, 在每个子区间上使用低阶求积公式.
f (b)]
复化求积公式的余项:
( b − a )3 − f ′′(η ) 12
JG f ′′(η k ) x k +1 ⎛ ( x − x k )( x − x k + 1 )dx ⎜ ⇒ RT = − ∫ x k 2 ⎜ 3 3 ( ) − x x h ⎜ k +1 =− k f ′′(η k ) = − f ′′(η k ) ⎜ ⎝ 12 12
7 90 75 19 288 288 27 216 840 840 2989 1323 17280 17280 4540 10496 − 28350 283 50
41 840 3577 751 17280 17280 928 5888 − 28350 28350
989 28350
当n ≥ 8时Cotes系数有正有负, 稳定性不好 . 因此在实际中一般不用高阶的Newton − Cotes公式 .
(0) 步4. 终止判别. 若 Tk(0) − Tk(0) < ε , 则算法终止, T −1 k 即为所求
结果;否则令 k := k + 1, 返回步 2.
4.4 Gauss (高斯) 公式
下面从分析Gauss点的特性入手研究Gauss公式的构造问题 .
0.
2. Gauss-Legendre 公式
( 0 < η < 1)
= 0.0003472
5. 推导下列三种矩形求积公式:
∫ ∫ ∫
证明.
b
a b
a b
a
f ′(η ) f ( x )dx = (b − a ) f (a ) + ( b − a )2 , 2 f ′(η ) f ( x )dx = (b − a ) f (b ) − ( b − a )2 , 2 ⎛ a + b ⎞ f ′′(η ) 3 f ( x )dx = (b − a ) f ⎜ b a + − ( ) . ⎟ 24 ⎝ 2 ⎠
4.3 Romberg (龙贝格) 算法
问题的提出 :
对于复化求积法对提高精度是行之有效的,但要求事先给出 合适的步长. 步长太大, 精度不能保证;步长太小,则导致计算 量增加. 而事先给出一个合适的步长往往有困难. 改进 : 采用变步长的计算方法, 即采用步长逐次分半.
将积分区间[a , b]分成n等份,在小区间[ xk , xk +1 ] 上,由梯形公式有
下面分析复化Simpson法 : 复化Simpson公式的误差为
知该误差近似地与h4 成正比, 于是当步长二分后, 有
1 即误差减至原有误差的 , 从而有 16
1 用S 2 n的误差 ( S 2 n − S n ) 作为S 2 n的补偿得到 15 1 16 1 S = S2 n + ( S2 n − Sn ) = S2 n − Sn 15 15 15
定理 3. 设f ( x ) ∈ C ∞ [a , b],则
T ( h) = I + α 1 h 2 + α 2 h4 + α 3 h6 + " + α k h 2 k + " ,
(4.3.7)
其中系数 α k ( k = 1, 2,") 与 h 无关 .
由(4.3.7)式有
⎛ h⎞ ⎛ h⎞ ⎛ h⎞ ⎛ h⎞ ⎛ h⎞ T ⎜ ⎟ = I + α1 ⎜ ⎟ + α 2 ⎜ ⎟ + α 3 ⎜ ⎟ + " + α k ⎜ ⎟ + " , ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠
2. 偶阶求积公式的代数精度
3. 几种低 阶求积公式的余项
复习积分第二中值定理:
( b − a )3 − f ′′(η ) 12
4. 复化求积法
Newton − Cotes型积分公式的不足: (1) 当阶数n较高( n ≥ 8)时会出现数值不稳定; (2) 当积分区间过大时计算结果的误差较大 . 改进: 使用复化求积公式
2 4 6 2k
α1 2 α 2 4 l 6 ⎛ h⎞ Δ l k h2 k + " , 即 T⎜ ⎟ = I+ h + h + α 3h + " + α 4 16 ⎝ 2⎠
⎛ h⎞ 将T ( h) 与T ⎜ ⎟ 按以下方式作线性组合: ⎝ 2⎠ 4 ⎛ h⎞ 1 T1 ( h) = T ⎜ ⎟ − T ( h), 3 ⎝ 2⎠ 3
a a
b
b
∫ba来自f ( x )dx = ∫ f (a )dx + ∫ f ′(ξ )( x − a )dx
a a
b
b
因在 [a , b]上 x − a ≥ 0,所以由定积分第二中值定理有
= f (a )(b − a ) + ∫ f ′(ξ )( x − a )dx
4 6 8
⎛ h⎞ ⎛ h⎞ ⎛ h⎞ ⎛ h⎞ T1 ⎜ ⎟ = I + β 1 ⎜ ⎟ + β 2 ⎜ ⎟ + β 3 ⎜ ⎟ + " ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ =I+
Δ
4
6
8
β1
16
Δ
l h6 + β l h8 + " h4 + β 2 3
若令
16 ⎛ h ⎞ 1 T2 ( h) = T1 ⎜ ⎟ − T1 ( h), 15 ⎝ 2 ⎠ 15
Δ
则消去h4 项,从而有
T2 ( h) = I + γ 1 h6 + γ 2 h8 + "
比较上式和(4.3.5), 即知上述方法得到的{T2 ( x )} 是
Cotes值序列.
一般地, ⋅⋅⋅⋅⋅⋅,继续下去,每加速一次,误差的量级就提高二阶. ⋅⋅⋅⋅⋅⋅,
按公式
4m 1 ⎛ h⎞ Tm ( h) = m Tm −1 ⎜ ⎟ − m Tm −1 ( h) 4 −1 ⎝ 2 ⎠ 4 −1 Δ ⎛ ⎞ 其中 T ( h ) T ( h ) = ⎜ ⎟ 0 经过m ( m = 1, 2,")次加速后,有 ⎝ ⎠
{T0( k ) }的m次加速值,则由递推公式(4.3.11)有
(k ) Tm m 4m 4 ( k + 1) (k ) = m Tm − T k = 1, 2," m −1 , −1 m 4 −1 4 −1
(4.3.13)
利用上式可逐行构造出 T 数表:
T0(0) T0(1) T1(0) T0( 2) T1(1) T2(0) T0( 3) T1( 2) # # T2(1) # T3(0) # %
1 −x
⎤ ⎛a+b⎞ ⎜ 2 ⎟ + f (b)⎥ ⎝ ⎠ ⎦