第 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*}\]

复化梯形公式的截断误差

image
image
image
image

复化辛普森积分
  • 把积分区间偶数等分为\(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
复化辛普森公式的截断误差

image
image
image

例题-复化辛普森公式

image
image

例题

image
image
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)|\)

image
image
image

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

是否可以改善梯形公式的计算效果?

image
image
image
image
image
image

龙伯格算法

  1. \(k=1,h=b-a\),用梯形公式计算积分近似值

\[R_{1,1} = \frac{h}{2}(f(a) + f(b)) = \frac{b-a}{2}(f(a) + f(b)) \]

  1. \(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) \]

  1. 按加速公式求加速值

\[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\]

  1. 精度控制,直到相邻两次积分值

\[\left| R_{k,k} - R_{k-1,k-1} \right| < \varepsilon \]

  1. 输出\(R_{k,k}\)

例题

外推加速公式







实际常用列表法

课后习题





posted @ 2024-12-23 12:59  韦飞  阅读(837)  评论(0)    收藏  举报