第 6 章:数值积分与数值微分(二)
6.3 复化数值积分
由于牛顿-科特斯公式在\(n≥8\)时不稳定,因此可能通过提高阶数来提高求积精度
实际计算中常用低阶复化求积方法。我们讨论复化梯形公式和复化辛普森公式
- 思想对积分区间分段,每段采用低阶积分
![image]()
复化梯形积分
- 对\([a,b]\)作等距分割,有\(h=\frac{b-a}{n},x_i=a+ih,i=0,1,...,n\),于是
\[I = \int_{a}^{b} f(x) \, dx = \sum_{i=0}^{n-1} \int_{x_i}^{x_{i+1}} f(x) \, dx
\]
- 在\([x_i,x_{i+1}]\)上
\[\int_{x_i}^{x_{i+1}} f(x) \, dx = \frac{h}{2} (f(x_i) + f(x_{i+1})) - f''(\xi_i) \frac{h^3}{12}
\]
- 则有
\[I(f) = \sum_{i=0}^{n-1} \left( \frac{h}{2} (f(x_i) + f(x_{i+1})) - f''(\xi_i) \frac{h^3}{12} \right)
\]
- 记\(n\)等分的复化梯形公式为\(T_n(f)\)或者\(T(h)\),有
\[\begin{align*}
T(h) &= T_n(f) \\
&= h \left( \frac{1}{2} f(a) + \sum_{i=1}^{n-1} f(a + ih) + \frac{1}{2} f(b) \right) \\
&= \frac{h}{2} \left( f(a) + 2 \sum_{i=1}^{n-1} f(a + ih) + f(b) \right)
\end{align*}\]
复化梯形公式的截断误差




复化辛普森积分
- 把积分区间偶数等分为\(2m\)个小区间,记\(n=2m\),其中\(n+1\)是节点总数,\(m\)是积分子区间总数
- 记\(h=\frac{b-a}{n},x_i=a+ih,i=0,1,...,n\),在每个子区间\([x_{2i},x_{2i+2}]\)上用辛普森数值积分公式计算,则得到复化的辛普森公式,记为\(S_n(f)\)
- 复化辛普森积分计算公式
\[I(f) = \int_{a}^{b} f(x) \, dx = \sum_{i=0}^{m-1} \int_{x_{2i}}^{x_{2i+2}} f(x) \, dx
\]
- 而
\[\int_{x_{2i}}^{x_{2i+2}} f(x) \, dx = \frac{2h}{6} (f(x_{2i}) + 4f(x_{2i+1}) + f(x_{2i+2})) - \frac{(2h)^5}{2880} f^{(4)}(\xi_i)
\]
- 称下面公式为复化辛普森积分公式,它是\(f(x)\)在\([x_{2i},x_{2i+2}]\)上采用辛普森公式叠加而得到的
\[\begin{align*}
S_n(f) &= \sum_{i=0}^{m-1} \frac{2h}{6} (f(x_{2i}) + 4f(x_{2i+1}) + f(x_{2i+2})) \\
&= \frac{h}{3} \left( f(a) + 4 \sum_{i=0}^{m-1} f(x_{2i+1}) + 2 \sum_{i=1}^{m-1} f(x_{2i}) + f(b) \right)
\end{align*}\]
- 复化辛普森求积公式节点与系数
![image]()
复化辛普森公式的截断误差



例题-复化辛普森公式


例题



复化积分的自动控制误差算法
- 在实际计算中,经常无法根据误差公式确定分点个数,即使能够计算,也无法自动处理。因此常用事后估计法,即用\(|T_{2n}(f)-T_{n}(f)|\)估计误差
- \(T_{2n}(f)\)的计算公式
- 对定积分\(\int_{a}^{b} f(x) \, dx\),取分点\(n=1\),计算得
\[\begin{align*}
T_2(f) &= \frac{b-a}{2} \left( \frac{f(a)}{2} + \frac{f(b)}{2} + f(x_2) \right) \\
&= \frac{1}{2} T_1(f) + \frac{b-a}{2} f(x_2)
\end{align*}\]
- 取分点\(n=2\),计算得
\[T_1(f) = \frac{b-a}{2} (f(a) + f(b))
\]
- 这里\(x_2 = \frac{a+b}{2}\)
- 取分点\(n=4\)
\[\begin{align*}
T_4(f) &= \frac{b-a}{4} \left( \frac{f(a)}{2} + \frac{f(b)}{2} + f(x_1) + f(x_2) + f(x_3) \right) \\
&= \frac{T_2}{2} + \frac{b-a}{4} (f(x_1) + f(x_3))
\end{align*}\]
- 计算\(T_4(f)\)只需要在\(T_2(f)\)基础上新增分点\(f(1),f(3)\)的值,再做结合即可
- 一般地,每次总对前一次的小区间分半,分点加密一倍,并可以允许利用老分点上的函数值,只需计算新增分点的和
- 对\([a,b]\)进行\(n\)等分,\(h_n=\frac{b-a}{n}\)
\[T_n(f) = h_n \left( \frac{f(a)}{2} + \sum_{i=1}^{n-1} f(x_i) + \frac{f(b)}{2} \right)
\]
- 记\([x_i,x_{i+1}]\)上的中点为\(x_{(i+1)/2}\),则
\[\begin{align*}
T_{2n}(f) &= \frac{h_n}{2} \left( \frac{f(a)}{2} + \sum_{i=1}^{n-1} f(x_i) + \sum_{i=0}^{n-1} f(x_{i+1/2}) + \frac{f(b)}{2} \right) \\
&= \frac{h_n}{2} \left( \frac{f(a)}{2} + \sum_{i=1}^{n-1} f(x_i) + \frac{f(b)}{2} \right) + \frac{h_n}{2} \sum_{i=0}^{n-1} f(x_{i+1/2})
\end{align*}\]
\[T_{2n}(f) = \frac{1}{2}(T_n(f) + H_n(f))
\]
- 其中
\[H_n(f) = h_n \sum_{i=0}^{n-1} f(x_{i+1/2})
\]
- 或
\[T_{2n}(f) = \frac{T_n(f)}{2} + h_{2n} \sum_{i=1}^{n} f(a + (2i-1)h_{2n})
\]
- 其中
\[h_{2n} = \frac{b-a}{2n}
\]
- 类似地,可得积分节点为\(n,2n\)的复化辛普森求积公式的关系式
\[S_{2n}(f) = \frac{1}{2} S_{n}(f) + \frac{1}{6} \left( 4 H_{2n}(f) - H_{n}(f) \right)
\]
\(|T_{2n}(f)|\)与\(|T_{f}-T_{2n}(f)|\)



龙伯格积分
- 梯形公式,辛普森公式,牛顿-科特斯公式的代数精度分别为1次、3次和5次
- 复化梯形,复化辛普森,复化科特斯公式的收敛阶分别为2阶,4阶和6阶
- 无论从代数精度还是收敛速度,复化梯形公式都是较差的
是否可以改善梯形公式的计算效果?






龙伯格算法
- 取\(k=1,h=b-a\),用梯形公式计算积分近似值
\[R_{1,1} = \frac{h}{2}(f(a) + f(b)) = \frac{b-a}{2}(f(a) + f(b))
\]
- 令\(k=2\)按变步长梯形公式计算积分的近似值,即将区间逐次分半,令区间长度\(h_k = \frac{b - a}{2^{k-1}}\),计算
\[R_{k,1} = \frac{1}{2}R_{k-1,1} + \frac{h_{k-1}}{2} \sum_{i=1}^{2^{k-2}} f(a + (2i - 1)h_k)
\]
- 按加速公式求加速值
\[R_{k,j} = R_{k,j-1} + \frac{R_{k,j-1} - R_{k-1,j-1}}{4^{j-1} - 1} \]
\[ j = 2, 3, \ldots, k\]
- 精度控制,直到相邻两次积分值
\[\left| R_{k,k} - R_{k-1,k-1} \right| < \varepsilon
\]
- 输出\(R_{k,k}\)

例题

外推加速公式







实际常用列表法

课后习题









浙公网安备 33010602011771号