november 21, 2013xpzhang.me/teach/cm18_fall/slide06.pdf · 6.1 newton-cotesl 6.1.3. newton-cotesl n...
TRANSCRIPT
数值计算方法第六章 数值积分
张晓平
November 21, 2013
张晓平 () 数值计算方法 November 21, 2013 1 / 59
目录
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 2 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 3 / 59
6.0 简介
定理 (Newton-Leibniz公式)
对于定积分I =∫ b
a f (x) dx,若 f (x)在[a, b]上连续,且 f (x)的原函数为F(x),则∫ b
af (x) dx = F(b) − F(a).
张晓平 () 数值计算方法 November 21, 2013 4 / 59
6.0 简介
实际计算中,常遇到如下情况:
1 f (x)形式复杂,求原函数更为困难,如
f (x) =√
ax2 + bx + c
2 f (x)的原函数不能用初等函数形式表示,如
f (x) =1
ln x, e−x2
, sin x2,sin x
x
3 f (x)虽有初等函数表示的原函数,但其原函数表示形式相当复杂,如
f (x) =1
1 + x4
4 f (x)本身没有解析表达式,其函数关系由表格或图像给出,如实验或测量数据
以上情况都不能用牛顿-莱布尼兹公式直接计算定积分,因此有必要研究定积
分的数值计算问题。张晓平 () 数值计算方法 November 21, 2013 5 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 6 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 7 / 59
6.1.1 数值积分的基本思想
定理 (积分中值定理)对于连续函数 f (x),在[a, b]内存在点ξ有
I =∫ b
af (x) dx = (b − a) f (ξ), ξ ∈ [a, b].
ξ一般不知道,从而难以准确计算 f (ξ)的值。通常称 f (ξ)为 f (x)在[a, b]上的平均高度。若能对 f (ξ)提供一种近似,就能得到对应的数值积分公式。
I =∫ b
af (x) dx ≈ (b − a) f (a), ⇒左矩形公式 (1)
I =∫ b
af (x) dx ≈ (b − a) f (b), ⇒右矩形公式 (2)
I =∫ b
af (x) dx ≈ (b − a) f (
a + b2
) ⇒中矩形公式 (3)
张晓平 () 数值计算方法 November 21, 2013 8 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
a b
A
By = f (x)
图: 左矩形公式
张晓平 () 数值计算方法 November 21, 2013 9 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
a b
A
By = f (x)
图: 左矩形公式
张晓平 () 数值计算方法 November 21, 2013 9 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
a b
A
By = f (x)
图: 右矩形公式
张晓平 () 数值计算方法 November 21, 2013 10 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
a b
A
By = f (x)
图: 右矩形公式
张晓平 () 数值计算方法 November 21, 2013 10 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
A
By = f (x)
a b
图: 中矩形公式
张晓平 () 数值计算方法 November 21, 2013 11 / 59
6.1 Newton-Cotes公式6.1.1 数值积分的基本思想
x
y
A
By = f (x)
a b
图: 中矩形公式
张晓平 () 数值计算方法 November 21, 2013 11 / 59
6.1.1 数值积分的基本思想
更一般地, f (x)在[a, b]内n + 1个节点xi处的高度为 f (xi)(i = 0, 1, · · · , n),通过加权平均的方法近似地得到平均高度 f (ξ),这类公式一般形如
I =∫ b
af (x) dx ≈
n∑i=0
Ai f (xi), (4)
称xi为求积节点,Ai为求积系数。
称
Rn( f ) =∫ b
af (x) dx −
n∑i=0
Ai f (xi)
为求积公式(4)的截断误差。
张晓平 () 数值计算方法 November 21, 2013 12 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 13 / 59
6.1 Newton-Cotes公式6.1.2 插值型求积公式
设[a, b]上的节点为 a = x0 < x1 < · · · < xn = b,则 f (x)的Lagrange插值多项式为
Ln(x) =n∑
i=0
li(x) f (xi), li(x) =n∏
j=0, j,i
x − x j
xi − x j.
用Ln(x)作为 f (x)的近似函数有
I =
∫ b
af (x) dx ≈
∫ b
aLn(x) dx
=
∫ b
a
n∑i=0
li(x) f (xi) dx =n∑
i=0
(∫ b
ali(x) dx
)f (xi).
记 Ai =
∫ b
ali(x) dx,则有插值型求积公式
I =∫ b
af (x) dx ≈
n∑i=0
Ai f (xi)
其中Ai只与插值节点xi有关,而与被积函数 f (x)无关张晓平 () 数值计算方法 November 21, 2013 14 / 59
6.1 Newton-Cotes公式6.1.2 插值型求积公式
上述求积公式的截断误差为
Rn( f ) =
∫ b
a[ f (x) − Ln(x)] dx
=1
(n + 1)!
∫ b
af (n+1)(ξ)ωn+1(x) dx
其中
ωn+1(x) =n∏
i=0
(x − xi), ξ ∈ (a, b)
张晓平 () 数值计算方法 November 21, 2013 15 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 16 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
在插值型求积公式中,取等距节点,即将[a, b]作n等分,记节点
为xi = a + ih(i = 0, 1, · · · , n), h =b − a
n。作变量替换x = a + th,则
Ai =
∫ b
a
n∏j=0, j,i
x − x j
xi − x jdx = h
∫ n
0
n∏j=0, j,i
t − ji − j
dt
=b − a
n·
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt
记
C(n)i =
1n
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt ⇒ Ai = (b − a)C(n)i
于是得到Newton-Cotes求积公式
I =∫ b
af (x) dx ≈ (b − a)
n∑i=0
C(n)i f (xi)
C(n)i 成为柯特斯系数。
张晓平 () 数值计算方法 November 21, 2013 17 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
在插值型求积公式中,取等距节点,即将[a, b]作n等分,记节点
为xi = a + ih(i = 0, 1, · · · , n), h =b − a
n。作变量替换x = a + th,则
Ai =
∫ b
a
n∏j=0, j,i
x − x j
xi − x jdx = h
∫ n
0
n∏j=0, j,i
t − ji − j
dt
=b − a
n·
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt
记
C(n)i =
1n
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt ⇒ Ai = (b − a)C(n)i
于是得到Newton-Cotes求积公式
I =∫ b
af (x) dx ≈ (b − a)
n∑i=0
C(n)i f (xi)
C(n)i 成为柯特斯系数。
张晓平 () 数值计算方法 November 21, 2013 17 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
在插值型求积公式中,取等距节点,即将[a, b]作n等分,记节点
为xi = a + ih(i = 0, 1, · · · , n), h =b − a
n。作变量替换x = a + th,则
Ai =
∫ b
a
n∏j=0, j,i
x − x j
xi − x jdx = h
∫ n
0
n∏j=0, j,i
t − ji − j
dt
=b − a
n·
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt
记
C(n)i =
1n
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt ⇒ Ai = (b − a)C(n)i
于是得到Newton-Cotes求积公式
I =∫ b
af (x) dx ≈ (b − a)
n∑i=0
C(n)i f (xi)
C(n)i 成为柯特斯系数。
张晓平 () 数值计算方法 November 21, 2013 17 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
在插值型求积公式中,取等距节点,即将[a, b]作n等分,记节点
为xi = a + ih(i = 0, 1, · · · , n), h =b − a
n。作变量替换x = a + th,则
Ai =
∫ b
a
n∏j=0, j,i
x − x j
xi − x jdx = h
∫ n
0
n∏j=0, j,i
t − ji − j
dt
=b − a
n·
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt
记
C(n)i =
1n
(−1)n−i
i!(n − i)!
∫ n
0
n∏j=0, j,i
(t − j) dt ⇒ Ai = (b − a)C(n)i
于是得到Newton-Cotes求积公式
I =∫ b
af (x) dx ≈ (b − a)
n∑i=0
C(n)i f (xi)
C(n)i 成为柯特斯系数。
张晓平 () 数值计算方法 November 21, 2013 17 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
性质 (柯特斯系数C(n)i )
1 对称性:C(n)
i = C(n)n−i
2 权性:n∑
i=1
C(n)i = 1
张晓平 () 数值计算方法 November 21, 2013 18 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
n = 1(梯形(Trapezoidal)公式)
C(1)0 = C(1)
1 =
∫ 1
0t dt =
12
I =∫ b
af (x) dx ≈
b − a2
[ f (a) + f (b)]
x
y
a b
A
By = f (x)
张晓平 () 数值计算方法 November 21, 2013 19 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
n = 1(梯形(Trapezoidal)公式)
C(1)0 = C(1)
1 =
∫ 1
0t dt =
12
I =∫ b
af (x) dx ≈
b − a2
[ f (a) + f (b)]
x
y
a b
A
By = f (x)
张晓平 () 数值计算方法 November 21, 2013 19 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
n = 2(辛普森(Simpson)公式)
C(2)0 = C(2)
2 =14
∫ 2
0t(t − 1) dt =
16, C(2)
1 =14
∫ 2
0t(t − 2) dt =
46
I =∫ b
af (x) dx ≈
b − a6
[f (a) + 4 f
(a + b
2
)+ f (b)
]n = 3(辛普森(Simpson)3/8公式)
I =∫ b
af (x) dx ≈
b − a8
[f (x0) + 3 f (x1) + 3 f (x2) + f (x3)
]n = 4(柯特斯(Cotes)公式)
I =∫ b
af (x) dx ≈
b − a90
[7 f (x0) + 32 f (x1) + 12 f (x2) + 32 f (x3) + 7 f (x4)
]张晓平 () 数值计算方法 November 21, 2013 20 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
n C(n)i
1 12
12
2 16
46
16
3 18
38
38
18
4 790
3290
1290
3290
790
5 19288
75288
50288
50288
75288
19288
6 41840
216840
27840
272840
27840
216840
41840
7 75117280
357717280
132317280
298917280
298917280
132317280
357717280
75117280
8 98928350
588828350
−92828350
1049628350
−454028350
1049628350
−92828350
588828350
98928350
由表可看出,当n较大时,柯特斯西系数变得复杂,且出现负项,计算过程的稳定性没有保证。梯形公式、辛普森公式和柯特斯公式是最基本、最常用的
求积公式。张晓平 () 数值计算方法 November 21, 2013 21 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
定理 (截断误差)
1 若 f ′′(x)在[a, b]上连续,则梯形公式的截断误差为
R1( f ) = −(b − a)3
12f ′′(ξ), ξ ∈ [a, b]
2 若 f (4)(x)在[a, b]上连续,则辛普森公式的截断误差为
R2( f ) = −(b − a)5
2880f (4)(ξ) = −
190
(b − a
2
)5
f (4)(ξ), ξ ∈ [a, b]
3 若 f (6)(x)在[a, b]上连续,则柯特斯公式的截断误差为
R4( f ) = −(b − a)7
1013760f (4)(ξ) = −
8495
(b − a
4
)7
f (6)(ξ), ξ ∈ [a, b]
张晓平 () 数值计算方法 November 21, 2013 22 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
例
试分别用梯形公式、辛普森公式和柯特斯公式计算I =∫ 1
1/2
√x dx,并与精确解
进行比较。
解
精确解为I = 23
√x3
∣∣∣∣∣10.5= 0.42096441
1 梯形公式: I ≈0.52
(√
0.5 + 1) ≈ 0.4267767
2 辛普森公式: I ≈0.56
(√
0.5 + 4√
0.75 + 1) ≈ 0.43093403
3 柯特斯公式:
I ≈0.590
(7√
0.5 + 32√
0.625 + 12√
0.75 + 32√
0.875 + 7) ≈ 0.43096407
张晓平 () 数值计算方法 November 21, 2013 23 / 59
6.1 Newton-Cotes公式6.1.3. Newton-Cotes公式
例
试分别用梯形公式、辛普森公式和柯特斯公式计算I =∫ 1
1/2
√x dx,并与精确解
进行比较。
解
精确解为I = 23
√x3
∣∣∣∣∣10.5= 0.42096441
1 梯形公式: I ≈0.52
(√
0.5 + 1) ≈ 0.4267767
2 辛普森公式: I ≈0.56
(√
0.5 + 4√
0.75 + 1) ≈ 0.43093403
3 柯特斯公式:
I ≈0.590
(7√
0.5 + 32√
0.625 + 12√
0.75 + 32√
0.875 + 7) ≈ 0.43096407
张晓平 () 数值计算方法 November 21, 2013 23 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 24 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 25 / 59
6.2.1 复化求积公式
定义 (复化求积公式)为提高数值积分的精度,将[a, b]等分为n个子区间,在每个区间上用基本求积公式,然后再累加成新的求积公式,这样既可提高结果的精度,又可使算法简便易于实现。这种求积公式成为复化求积公式。
张晓平 () 数值计算方法 November 21, 2013 26 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 1
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化梯形公式
在每个子区间[xi−1, xi]应用梯形公式,有∫ xi
xi−1
f (x) dx ≈h2
[ f (xi−1) + f (xi)], i = 1, 2, · · · , n
累加得复化梯形公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
≡ Tn
×h2
1 1
1 1
1 1
1 1
1 1
1 11 12 2 2 2 2
张晓平 () 数值计算方法 November 21, 2013 27 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 14
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化Simpson公式
在每个子区间[xi−1, xi]应用Simpson公式,有∫ xi
xi−1
f (x) dx ≈h6
[ f (xi−1) + 4 f (xi− 12) + f (xi)], i = 1, 2, · · · , n
累加得复化Simpson公式
I =
∫ b
af (x) dx =
n∑i=1
∫ xi
xi−1
f (x) dx
≈
n∑i=1
h2
[ f (xi−1) + f (xi)] =h6
f (a) + 4n−1∑i=0
f (xi+ 12) + 2
n−1∑i=1
f (xi) + f (b)
≡ S n
×h6
1 14
1 14
1 14
1 14
1 14
1 141 12 2 2 2 24 4 4 4 4 4
张晓平 () 数值计算方法 November 21, 2013 28 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
将[a, b]进行n等分,记节点为xi = a + ih(i = 0, 1, · · · , n),h = b−an 称为步长,子
区间为[xi−1, xi](i = 1, 2, · · · , n)。
1 复化柯特斯公式
在每个子区间[xi−1, xi]应用柯特斯公式,有∫ xi
xi−1
f (x) dx ≈h
90[7 f (xi−1) + 32 f (xi− 1
4) + 12 f (xi− 1
2) + 32 f (xi− 3
4) + 7 f (xi)],
累加得复化柯特斯公式
I ≈h
90
7 f (a) + 32n−1∑i=0
f (xi+ 14) + 12
n−1∑i=0
f (xi+ 12)
+32n−1∑i=0
f (xi+ 34) + 14
n−1∑i=1
f (xi) + 7 f (b)
≡ Cn
×h
90
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 32
7 732 12 327 714 14 14 14 1432 12 32 32 12 32 32 12 32 32 12 32 32 12 32 32 12 32
张晓平 () 数值计算方法 November 21, 2013 29 / 59
6.2.1 复化求积公式
定理
设 f (x)在[a, b]上有连续的二阶导数,则复化梯形公式的截断误差为
RT ( f ) = −b − a
12h2 f ′′(ξ), ξ ∈ (a, b).
RS ( f ) = −b − a2880
h4 f (4)(ξ), ξ ∈ (a, b).
RC( f ) = −2(b − a)
945
(h4
)6
f (6)(ξ), ξ ∈ (a, b).
张晓平 () 数值计算方法 November 21, 2013 30 / 59
6.2.1 复化求积公式
定理
设 f (x)在[a, b]上有连续的二阶导数,则复化梯形公式的截断误差为
RT ( f ) = −b − a
12h2 f ′′(ξ), ξ ∈ (a, b).
RS ( f ) = −b − a2880
h4 f (4)(ξ), ξ ∈ (a, b).
RC( f ) = −2(b − a)
945
(h4
)6
f (6)(ξ), ξ ∈ (a, b).
张晓平 () 数值计算方法 November 21, 2013 30 / 59
6.2.1 复化求积公式
定理
设 f (x)在[a, b]上有连续的二阶导数,则复化梯形公式的截断误差为
RT ( f ) = −b − a
12h2 f ′′(ξ), ξ ∈ (a, b).
RS ( f ) = −b − a2880
h4 f (4)(ξ), ξ ∈ (a, b).
RC( f ) = −2(b − a)
945
(h4
)6
f (6)(ξ), ξ ∈ (a, b).
张晓平 () 数值计算方法 November 21, 2013 30 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
6.2.1 复化求积公式
例
计算I =∫ 1
0 ex dx,若要求误差不超过 12 × 10−4,分别用复化梯形公式和复
化Simpson公式计算,问至少需要多少个节点?
解
由 f (x) = f ′′(x) = f (4)(x) = ex得
maxx∈[0,1]
| f ′′(x)| = maxx∈[0,1]
| f (4)(x)| = e
由复化梯形公式的截断误差知
|RT ( f )| ≤e
12n2 ≤12× 10−4 ⇒ n > 67.3
故用复化梯形公式n至少取68,即需69个节点。由复化Simpson公式的截断误差知
|RS ( f )| ≤e
2880n4 ≤12× 10−4 ⇒ n > 2.1
故用复化Simpson公式n至少取3,即需7个节点。张晓平 () 数值计算方法 November 21, 2013 31 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 32 / 59
6.2.2 变步长求积公式
将[a, b]n等分,共n + 1个节点,复化梯形公式为
Tn =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
将[a, b]2n等分,共2n + 1个节点。为讨论二分前后两个积分值的关系,考察一
个子区间[xi, xi+1],其中点为xi+ 12,该子区间上二分前后两个积分值为
T1 =h2
[f (xi) + f (xi+1)
], T2 =
h4
[f (xi) + 2 f (xi+ 1
2) + f (xi+1)
]两者关系为
T2 =12
T1 +h2
f (xi+ 12)
累加得
T2n =12
Tn +h2
n−1∑i=0
f (xi+ 12)
张晓平 () 数值计算方法 November 21, 2013 33 / 59
6.2.2 变步长求积公式
将[a, b]n等分,共n + 1个节点,复化梯形公式为
Tn =h2
f (a) + 2n−1∑i=1
f (xi) + f (b)
将[a, b]2n等分,共2n + 1个节点。为讨论二分前后两个积分值的关系,考察一
个子区间[xi, xi+1],其中点为xi+ 12,该子区间上二分前后两个积分值为
T1 =h2
[f (xi) + f (xi+1)
], T2 =
h4
[f (xi) + 2 f (xi+ 1
2) + f (xi+1)
]两者关系为
T2 =12
T1 +h2
f (xi+ 12)
累加得
T2n =12
Tn +h2
n−1∑i=0
f (xi+ 12)
张晓平 () 数值计算方法 November 21, 2013 33 / 59
6.2.2 变步长求积公式
T2n =12
Tn +h2
n−1∑i=0
f (xi+ 12)
实际计算T2n时,Tn为已知数据,只需累加新增节点xi+ 12的函数值 f (xi+ 1
2),这可
使计算量节约一半。
常用T2n − Tn < ε是否满足作为控制计算精度的条件:
1 若满足,则取T2n为I的近似值
2 若不满足,则再将区间分半,直到满足精度为止。
张晓平 () 数值计算方法 November 21, 2013 34 / 59
6.2.2 变步长求积公式
T2n =12
Tn +h2
n−1∑i=0
f (xi+ 12)
实际计算T2n时,Tn为已知数据,只需累加新增节点xi+ 12的函数值 f (xi+ 1
2),这可
使计算量节约一半。
常用T2n − Tn < ε是否满足作为控制计算精度的条件:
1 若满足,则取T2n为I的近似值
2 若不满足,则再将区间分半,直到满足精度为止。
张晓平 () 数值计算方法 November 21, 2013 34 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式
张晓平 () 数值计算方法 November 21, 2013 35 / 59
6.2.3 龙贝格求积公式
由复化梯形公式的截断误差可得
I − T2n
I − Tn=
14
f ′′(η1)f ′′(η2)
若 f ′′在[a, b]上变化不大,即有 f ′′(η1) ≈ f ′′(η2),则在二分之后的误差是原先误差的 1
4倍,即I − T2n
I − Tn=
14⇒ I ≈
43
T2n −14
Tn ≡ T̄
T̄应当比T2n更接近I。易验证S n = T̄
张晓平 () 数值计算方法 November 21, 2013 36 / 59
6.2.3 龙贝格求积公式
由复化梯形公式的截断误差可得
I − T2n
I − Tn=
14
f ′′(η1)f ′′(η2)
若 f ′′在[a, b]上变化不大,即有 f ′′(η1) ≈ f ′′(η2),则在二分之后的误差是原先误差的 1
4倍,即I − T2n
I − Tn=
14⇒ I ≈
43
T2n −14
Tn ≡ T̄
T̄应当比T2n更接近I。易验证S n = T̄
张晓平 () 数值计算方法 November 21, 2013 36 / 59
6.2.3 龙贝格求积公式
由复化梯形公式的截断误差可得
I − T2n
I − Tn=
14
f ′′(η1)f ′′(η2)
若 f ′′在[a, b]上变化不大,即有 f ′′(η1) ≈ f ′′(η2),则在二分之后的误差是原先误差的 1
4倍,即I − T2n
I − Tn=
14⇒ I ≈
43
T2n −14
Tn ≡ T̄
T̄应当比T2n更接近I。易验证S n = T̄
张晓平 () 数值计算方法 November 21, 2013 36 / 59
6.2.3 龙贝格求积公式
由复化Simpson公式逐步二分,有
I − S 2n
I − S n=
116⇒ I ≈
1615
S 2n −1
15S n ≡ S̄
易验证Cn = S̄
张晓平 () 数值计算方法 November 21, 2013 37 / 59
6.2.3 龙贝格求积公式
由复化Simpson公式逐步二分,有
I − S 2n
I − S n=
116⇒ I ≈
1615
S 2n −1
15S n ≡ S̄
易验证Cn = S̄
张晓平 () 数值计算方法 November 21, 2013 37 / 59
6.2.3 龙贝格求积公式
由复化柯特斯公式逐步二分,有
I −C2n
I −Cn=
164⇒ I ≈
6463
C2n −163
Cn ≡ Rn
该公式称为龙贝格公式
张晓平 () 数值计算方法 November 21, 2013 38 / 59
6.2.3 龙贝格求积公式
由复化柯特斯公式逐步二分,有
I −C2n
I −Cn=
164⇒ I ≈
6463
C2n −163
Cn ≡ Rn
该公式称为龙贝格公式
张晓平 () 数值计算方法 November 21, 2013 38 / 59
6.2.3 龙贝格求积公式
如此进行三次,便将粗糙的梯形公式逐步加工成精度较高的龙贝格公式,这种加速方法成为龙贝格算法,计算步骤如下:
T1↓ ↘
T2 −→ S 1↓ ↘ ↘
T4 −→ S 2 −→ C1↓ ↘ ↘ ↘
T8 −→ S 3 −→ C2 −→ R1↓ ↘ ↘ ↘
T16 −→ S 4 −→ C3 −→ R2
张晓平 () 数值计算方法 November 21, 2013 39 / 59
6.2.3 龙贝格求积公式
例
用龙贝格算法计算I =∫ 1
0
41 + x2 dx,要求误差不超过 1
2 × 10−5
解
k n = 2k T2k S 2k−1 C2k−2 R2k−3
0 1 31 2 3.1 3.1333332 4 3.131177 3.141569 3.1421183 8 3.138989 3.141593 3.141595 3.1415864 16 3.140942 3.141593 3.141593 3.1415935 32 3.141430 3.141593 3.141593 3.141593
张晓平 () 数值计算方法 November 21, 2013 40 / 59
6.2.3 龙贝格求积公式
例
用龙贝格算法计算I =∫ 1
0
41 + x2 dx,要求误差不超过 1
2 × 10−5
解
k n = 2k T2k S 2k−1 C2k−2 R2k−3
0 1 31 2 3.1 3.1333332 4 3.131177 3.141569 3.1421183 8 3.138989 3.141593 3.141595 3.1415864 16 3.140942 3.141593 3.141593 3.1415935 32 3.141430 3.141593 3.141593 3.141593
张晓平 () 数值计算方法 November 21, 2013 40 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式6.1.1 数值积分的基本思想6.1.2 插值型求积公式6.1.3. Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式6.2.1 复化求积公式6.2.2 变步长求积公式6.2.3 龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 41 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 42 / 59
6.3.1 代数精度
定义
若求积公式 ∫ b
af (x) dx ≈
n∑i=0
Ak f (xk)
对任意次数不高于m次的代数多项式都准确成立,但对于m + 1次多项式不精确成立,则该求积公式具有m次代数精度。
由该定义可看出:求积公式∫ b
af (x) dx ≈
n∑i=0
Ak f (xk)
具有m次代数精度的充要条件是该公式对 f (x) = 1, x, · · · , xm能准确成立,但
对 f (x) = xm+1不能准确成立。
张晓平 () 数值计算方法 November 21, 2013 43 / 59
6.3.1 代数精度
定义
若求积公式 ∫ b
af (x) dx ≈
n∑i=0
Ak f (xk)
对任意次数不高于m次的代数多项式都准确成立,但对于m + 1次多项式不精确成立,则该求积公式具有m次代数精度。
由该定义可看出:求积公式∫ b
af (x) dx ≈
n∑i=0
Ak f (xk)
具有m次代数精度的充要条件是该公式对 f (x) = 1, x, · · · , xm能准确成立,但
对 f (x) = xm+1不能准确成立。
张晓平 () 数值计算方法 November 21, 2013 43 / 59
6.3.1 代数精度
定理
含n + 1个节点xi(i = 0, 1, · · · , n)的插值型求积公式的代数精度至少为n
张晓平 () 数值计算方法 November 21, 2013 44 / 59
6.3.1 代数精度
定理
牛顿-科特斯公式的代数精度至少为n。特别地,当n为偶数时,牛顿-科特斯公式的代数精度可以达到n + 1。
证明.以下验证当n = 2k时,公式对 f (x) = xn+1精确成立。由误差
R =
∫ b
a
f (n+1)(ξ)(n + 1)!
ω(x) dx
x=a+ih======= hn+2
∫ n
0t(t − 1) · · · (t − n) dt
n=2k====== hn+2
∫ 2k
0t(t − 1) · · · (t − k)(t − k − 1) · · · (t − 2k − 1)(t − 2k) dt
u=t−k====== hn+2
∫ k
−k(u + k)(u + k − 1) · · · u(u − 1) · · · (u − k + 1)(u − k) dt
= 0.
�张晓平 () 数值计算方法 November 21, 2013 45 / 59
6.3.1 代数精度
定理
牛顿-科特斯公式的代数精度至少为n。特别地,当n为偶数时,牛顿-科特斯公式的代数精度可以达到n + 1。
证明.以下验证当n = 2k时,公式对 f (x) = xn+1精确成立。由误差
R =
∫ b
a
f (n+1)(ξ)(n + 1)!
ω(x) dx
x=a+ih======= hn+2
∫ n
0t(t − 1) · · · (t − n) dt
n=2k====== hn+2
∫ 2k
0t(t − 1) · · · (t − k)(t − k − 1) · · · (t − 2k − 1)(t − 2k) dt
u=t−k====== hn+2
∫ k
−k(u + k)(u + k − 1) · · · u(u − 1) · · · (u − k + 1)(u − k) dt
= 0.
�张晓平 () 数值计算方法 November 21, 2013 45 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 46 / 59
6.3.2 高斯型求积公式
当节点等距时,插值型求积公式的代数精度为n或n + 1。若对节点适当选择,可提高插值型求积公式的代数精度。对具有n + 1个节点的插值型求积公式,其代数精度最高可达2n + 1。
张晓平 () 数值计算方法 November 21, 2013 47 / 59
6.3.2 高斯型求积公式
定义
将n + 1个节点的具有2n + 1次代数精度的插值型求积公式为∫ b
af (x) dx ≈
n∑k=0
Ak f (xk)
称为高斯型求积公式,节点xk为高斯点,Ak为高斯系数。
张晓平 () 数值计算方法 November 21, 2013 48 / 59
6.3.2 高斯型求积公式
以∫ 1−1 f (x) dx为例,一点高斯公式为中矩形公式∫ 1
−1f (x) dx ≈ 2 f (0),
高斯点为x0 = 0,系数为A0 = 2。
张晓平 () 数值计算方法 November 21, 2013 49 / 59
6.3.2 高斯型求积公式
以∫ 1−1 f (x) dx为例,两点高斯公式∫ 1
−1f (x) dx ≈ A0 f (x0) + A1 f (x1),
具有三次代数精度,即要求对 f (x) = 1, x, x2, x3准确成立,有
A0 + A1 = 2,
A0x0 + A1x1 = 0,
A0x20 + A1x2
1 =23 ,
A0x30 + A1x3
1 = 0
可解得x0 = −x1 = −1√
3, A0 = A1 = 1,公式为
∫ 1
−1f (x) dx ≈ f
(−
1√
3
)+ f
(1√
3
),
张晓平 () 数值计算方法 November 21, 2013 50 / 59
6.3.2 高斯型求积公式
∫ b
af (x) dx =
b − a2
∫ 1
−1f(
b − a2
t +a + b
2
)dt
对应的两点高斯型求积公式为∫ b
af (x) dx ≈
b − a2
[f(
a − b
2√
3+
a + b2
)+ f
(b − a
2√
3+
a + b2
)]
张晓平 () 数值计算方法 November 21, 2013 51 / 59
6.3.2 高斯型求积公式
定理
节点xk(k = 0, 1, · · · , n)为高斯点的充分必要条件是以这些点为零点的多项式ωn+1(x) =
∏ni=0(x − xi)与任意次数不超过n的多项式P(x)在[a, b]上正交,即∫ b
aP(x)ωn+1(x) dx = 0.
证明
⇒ 设xk(k = 0, 1, · · · , n)为插值型求积公式的高斯点,P(x)为次数不超过n的多项式,则P(x)ωn+1(x)为次数不超过2n + 1的多项式。由高斯点定义知∫ b
aP(x)ωn+1(x) dx =
n∑k=0
AkP(xk)ωn+1(xk) = 0
张晓平 () 数值计算方法 November 21, 2013 52 / 59
6.3.2 高斯型求积公式
证明.
⇐ 设ωn+1(x)与任意的次数不超过n的多项式正交,设 f (x)是任一次数不超过2n + 1的多项式,则必存在次数不超过n的多项式P(x),Q(x),使得
f (x) = P(x)ωn+1(x) + Q(x)
由插值型求积公式至少具有n次代数精度,知∫ b
af (x) dx =
∫ b
aP(x)ωn+1(x) dx +
∫ b
aQ(x) dx
= 0 +∫ b
aQ(x) dx = 0 +
n∑k=0
AkQ(xk)
=
n∑k=0
Ak[P(xk)ωn+1(xk) + Q(xk)] =n∑
k=0
Ak f (xk)
张晓平 () 数值计算方法 November 21, 2013 53 / 59
6.3.2 高斯型求积公式
证明.
⇐ 设ωn+1(x)与任意的次数不超过n的多项式正交,设 f (x)是任一次数不超过2n + 1的多项式,则必存在次数不超过n的多项式P(x),Q(x),使得
f (x) = P(x)ωn+1(x) + Q(x)
由插值型求积公式至少具有n次代数精度,知∫ b
af (x) dx =
∫ b
aP(x)ωn+1(x) dx +
∫ b
aQ(x) dx
= 0 +∫ b
aQ(x) dx = 0 +
n∑k=0
AkQ(xk)
=
n∑k=0
Ak[P(xk)ωn+1(xk) + Q(xk)] =n∑
k=0
Ak f (xk)
张晓平 () 数值计算方法 November 21, 2013 53 / 59
6.3.2 高斯型求积公式
证明.于是,求积公式至少具有2n + 1次代数精度,而对于2n + 2次多项
式 f (x) = ω2n+1(x),有
∫ b
aω2
n+1(x) dx > 0。所以,求积公式的代数精度
为2n + 1,xk(k = 0, 1, · · · , n)为高斯点。 �
张晓平 () 数值计算方法 November 21, 2013 54 / 59
6.3.2 高斯型求积公式
1 具有n + 1个节点的插值型求积公式的代数精度最高可达到2n + 1,因此高斯型求积公式是代数精度最高的求积公式。
2 定理给出了求高斯点的方法:找与任意的次数不超过n的多项式P(x)在[a, b]上正交的多项式
ωn+1(x) =n∏
k=0
(x − xk)
其零点xk(k = 0, 1, · · · , n)即为高斯点。
张晓平 () 数值计算方法 November 21, 2013 55 / 59
6.3.2 高斯型求积公式
例
证明求积公式 ∫ 1
−1f (x) dx ≈
19
[5 f (−√
0.6) + 8 f (0) + 5 f (√
0.6)]
对于不高于5次的多项式准确成立,并计算I =∫ 1
0
sin x1 + x
dx(取5位有效数字)
张晓平 () 数值计算方法 November 21, 2013 56 / 59
1 6.0 简介
2 6.1 Newton-Cotes公式
3 6.2 复化求积公式及龙贝格求积公式
4 6.3 高斯型求积公式6.3.1 代数精度6.3.2 高斯型求积公式6.3.3 勒让德多项式
张晓平 () 数值计算方法 November 21, 2013 57 / 59
6.3.3 勒让德多项式
定义
以高斯点xk(k = 1, 2, · · · , n)为零点的n次多项式
Pn(x) = ωn(x) =n∏
k=1
(x − xk)
张晓平 () 数值计算方法 November 21, 2013 58 / 59
6.3.3 勒让德多项式
在[−1, 1]上,勒让德多项式为
Pn(x) =1
2nn!dn
dxn [(x2 − 1)n]
如:P1(x) = x,
P2(x) = x2 −13,
P3(x) = x3 −35
x,
P4(x) = x4 −3035
x2 +3
35,
...
张晓平 () 数值计算方法 November 21, 2013 59 / 59
6.3.3 勒让德多项式
这样,可先求勒让德多项式的零点即可求得高斯点xk,进而求出求积系数Ak,如三点高斯型求积公式为∫ 1
−1f (x) dx ≈
59
f
−√35
+ 89
f (0) +59
f
√35
张晓平 () 数值计算方法 November 21, 2013 60 / 59