从Newton-Cotes的截断误差公式可以看出,当积分区间 [ a , b ] [a,b] [a,b]较大时,低阶的Newton-Cotes求积公式截断误差都比较大。由于高阶Newton-Cotes求积公式是数值不稳定的,因此通过不断增加阶数来提高求积公式的精度是不可行的。但是,如果将积分区间 [ a , b ] [a,b] [a,b]分成几个小区间(任意的),在每个小区间上应用Newton-Cotes求积公式,其截断误差必然会减小,然后再把每个小区间上的积分值累加起来,这样却能大大提高整个积分的精度。这种方法称为复化求积方法。
常用的复化求积方法采用等分区间的做法,具体如下:
将区间 [ a , b ] [a,b] [a,b]划分为n等分,步长为 H = ( b − a ) n H=\frac{(b-a)}{n} H=n(b−a),分点为 x k = a + k H , k = 0 , 1 , 2 , ⋯ , n x_k=a+kH,k=0,1,2,\cdots,n xk=a+kH,k=0,1,2,⋯,n。先用低阶Newton-Cotes求积公式求得每个子区间 [ x k , x k + 1 ] [x_k,x_{k+1}] [xk,xk+1]上的积分值 I k I_k Ik,然后将它们累加起来求和,用 ∑ k = 0 n − 1 I k \sum_{k=0}^{n-1}I_k ∑k=0n−1Ik作为所求积分 I = ∫ a b f ( x ) d x I=\int_a^bf(x)dx I=∫abf(x)dx的近似值。
1. 复化梯形公式
在区间
[
a
,
b
]
[a,b]
[a,b]上采用复化求积方法,具体使用梯形求积公式进行计算,就得到复化梯形求积公式。用
T
k
T_k
Tk表示
f
(
x
)
f(x)
f(x)在子区间
[
x
k
,
x
k
+
1
]
[x_k,x_{k+1}]
[xk,xk+1]上的积分值,
T
n
T_n
Tn表示
f
(
x
)
f(x)
f(x)在区间
[
a
,
b
]
[a,b]
[a,b]上的积分值,有:
T
k
=
1
2
H
[
f
(
x
k
)
+
f
(
x
k
+
1
)
]
T_k=\frac{1}{2}H[f(x_k)+f(x_{k+1})]
Tk=21H[f(xk)+f(xk+1)]
其中
H
=
(
b
−
a
)
/
n
,
x
k
=
a
+
k
H
(
k
=
0
,
1
,
2
,
⋯
,
n
)
H=(b-a)/n, \quad x_k=a+kH \quad(k=0,1,2,\cdots,n)
H=(b−a)/n,xk=a+kH(k=0,1,2,⋯,n)
故
T
n
=
∑
k
=
0
n
−
1
T
k
=
1
2
H
∑
k
=
0
n
−
1
[
f
(
x
k
)
+
f
(
x
k
+
1
)
]
T_n=\sum_{k=0}^{n-1}T_k=\frac{1}{2}H\sum_{k=0}^{n-1}[f(x_k)+f(x_{k+1})]
Tn=k=0∑n−1Tk=21Hk=0∑n−1[f(xk)+f(xk+1)]
即:
T
n
=
1
2
H
[
f
(
x
k
=
0
)
+
f
(
x
k
=
n
)
+
2
∑
k
=
1
n
−
1
f
(
x
k
)
]
T_n=\frac{1}{2}H[f(x_{k=0})+f(x_{k=n})+2\sum_{k=1}^{n-1}f(x_k)]
Tn=21H[f(xk=0)+f(xk=n)+2k=1∑n−1f(xk)]
或
T
n
=
b
−
a
2
n
[
f
(
a
)
+
f
(
b
)
+
2
∑
k
=
1
n
−
1
f
(
x
k
)
]
T_n=\frac{b-a}{2n}[f(a)+f(b)+2\sum_{k=1}^{n-1}f(x_k)]
Tn=2nb−a[f(a)+f(b)+2k=1∑n−1f(xk)]
截断误差用
R
T
R_T
RT表示,由于
f
(
x
)
f(x)
f(x)在区间
[
a
,
b
]
[a,b]
[a,b]上有连续的二阶导数,故有:
R
T
=
∑
k
=
0
n
−
1
−
1
12
H
3
f
(
2
)
(
η
k
)
=
−
1
12
H
3
∑
k
=
0
n
−
1
f
(
2
)
(
η
k
)
η
k
∈
[
x
k
,
x
k
+
1
]
R_T=\sum_{k=0}^{n-1}-\frac{1}{12}H^3f^{(2)}(\eta_k)=-\frac{1}{12}H^3\sum_{k=0}^{n-1}f^{(2)}(\eta_k) \quad \eta_k\in[x_k,x_{k+1}]
RT=k=0∑n−1−121H3f(2)(ηk)=−121H3k=0∑n−1f(2)(ηk)ηk∈[xk,xk+1]
即
R
T
=
−
1
12
H
3
⋅
n
⋅
f
(
2
)
(
η
)
=
−
(
b
−
a
)
12
H
2
f
n
(
η
)
η
∈
[
a
,
b
]
R_T=-\frac{1}{12}H^3·n·f^{(2)}(\eta)=-\frac{(b-a)}{12}H^2f^n(\eta) \quad \eta \in [a,b]
RT=−121H3⋅n⋅f(2)(η)=−12(b−a)H2fn(η)η∈[a,b]
2. 复化Simpson公式
在区间
[
a
,
b
]
[a,b]
[a,b]上采用复化求积方法,具体使用Simpson求积公式进行计算,就得到复化Simpson公式。用
S
k
S_k
Sk表示
f
(
x
)
f(x)
f(x)在子区间
[
x
k
,
x
k
+
1
]
[x_k,x_{k+1}]
[xk,xk+1]上的积分值,
S
n
S_n
Sn表示
f
(
x
)
f(x)
f(x)在区间
[
a
,
b
]
[a,b]
[a,b]上的积分值,有:
S
k
=
1
6
H
[
f
(
x
k
)
+
4
f
(
x
k
+
1
2
)
+
f
(
x
k
+
1
)
]
S_k=\frac{1}{6}H[f(x_k)+4f(x_{k+\frac{1}{2}})+f(x_{k+1})]
Sk=61H[f(xk)+4f(xk+21)+f(xk+1)]
式中,
x
k
+
1
2
x_{k+\frac{1}{2}}
xk+21为子区间
[
x
k
,
x
k
+
1
2
]
[x_k,x_{k+\frac{1}{2}}]
[xk,xk+21]的中点,
H
=
(
b
−
a
)
/
n
H=(b-a)/n
H=(b−a)/n。
S
n
=
∑
k
=
0
n
−
1
=
1
6
H
∑
k
=
0
n
−
1
[
f
(
x
k
)
+
4
f
(
x
k
+
1
2
)
+
f
(
x
k
+
1
)
]
S_n=\sum_{k=0}^{n-1}=\frac{1}{6}H\sum_{k=0}^{n-1}[f(x_k)+4f(x_{k+\frac{1}{2}})+f(x_{k+1})]
Sn=k=0∑n−1=61Hk=0∑n−1[f(xk)+4f(xk+21)+f(xk+1)]
故
S
n
=
∑
k
=
0
n
−
1
=
1
6
H
[
f
(
a
)
+
4
∑
k
=
0
n
−
1
f
(
x
k
+
1
2
)
+
2
∑
k
=
1
n
−
1
f
(
x
k
)
+
f
(
b
)
]
S_n=\sum_{k=0}^{n-1}=\frac{1}{6}H[f(a)+4\sum_{k=0}^{n-1}f(x_{k+\frac{1}{2}})+2\sum_{k=1}^{n-1}f(x_{k})+f(b)]
Sn=k=0∑n−1=61H[f(a)+4k=0∑n−1f(xk+21)+2k=1∑n−1f(xk)+f(b)]
截断误差用
R
s
R_s
Rs表示,由于
f
(
x
)
f(x)
f(x)在区间
[
a
,
b
]
[a,b]
[a,b]上有连续的四阶导数,故有:
R
S
=
∑
k
=
0
n
−
1
−
1
2880
H
5
f
(
4
)
(
η
k
)
=
−
1
2880
H
5
∑
k
=
0
n
−
1
f
(
4
)
(
η
k
)
η
k
∈
[
x
k
,
x
k
+
1
]
R_S=\sum_{k=0}^{n-1}-\frac{1}{2880}H^5f^{(4)}(\eta_k)=-\frac{1}{2880}H^5\sum_{k=0}^{n-1}f^{(4)}(\eta_k) \quad \eta_k \in [x_k,x_{k+1}]
RS=k=0∑n−1−28801H5f(4)(ηk)=−28801H5k=0∑n−1f(4)(ηk)ηk∈[xk,xk+1]
3. 复化Cotes公式
在区间
[
a
,
b
]
[a,b]
[a,b]上采用复化求积方法,具体使用Cotes求积公式进行计算,就得到复化Cotes公式为:
C
n
=
1
90
H
[
7
f
(
a
)
+
32
∑
k
=
0
n
−
1
f
(
x
k
+
1
4
)
+
12
∑
k
=
0
n
−
1
f
(
x
k
+
1
2
)
+
32
∑
k
=
0
n
−
1
f
(
x
k
+
3
4
)
+
14
∑
k
=
1
n
−
1
f
(
x
k
)
+
7
f
(
b
)
]
C_n=\frac{1}{90}H[7f(a)+32\sum_{k=0}^{n-1}f(x_{k+\frac{1}{4}})+12\sum_{k=0}^{n-1}f(x_{k+\frac{1}{2}})+32\sum_{k=0}^{n-1}f(x_{k+\frac{3}{4}})+14\sum_{k=1}^{n-1}f(x_k)+7f(b)]
Cn=901H[7f(a)+32k=0∑n−1f(xk+41)+12k=0∑n−1f(xk+21)+32k=0∑n−1f(xk+43)+14k=1∑n−1f(xk)+7f(b)]
截断误差为:
R
c
=
−
2
(
b
−
a
)
945
(
H
4
)
6
f
(
6
)
(
η
)
η
∈
[
a
,
b
]
R_c=-\frac{2(b-a)}{945}(\frac{H}{4})^6f^{(6)}(\eta) \quad \eta\in[a,b]
Rc=−9452(b−a)(4H)6f(6)(η)η∈[a,b]
从复化求积的余项公式中可以看出,复化梯形公式、复化Simpson公式、复化Cotes公式的余项和步长的关系为
R
T
=
O
(
h
2
)
,
R
s
=
O
(
h
4
)
,
R
c
=
O
(
h
6
)
R_T=O(h^2),R_s=O(h^4),R_c=O(h^6)
RT=O(h2),Rs=O(h4),Rc=O(h6)。因此,当
H
→
0
H\to 0
H→0或
n
→
∞
n\to \infty
n→∞时,
T
n
,
S
n
,
C
n
→
I
T_n,S_n,C_n\to I
Tn,Sn,Cn→I。