6.1 - 6.11 数值积分

牛顿-莱布尼茨公式: \(\displaystyle\int_a^bf(x)dx=F(b)-F(a)\)

问题:很多函数找不到原函数;很多函数只知道离散的点值而无表达式。

【例】弧长积分: \(L=\displaystyle\int_a^b\sqrt{1+(f'(x))^2}dx\)

由定积分的定义 \(\displaystyle I=\int_a^bf(x)dx=F(b)-F(a)=\lim_{\Delta x\to0}\sum_{i=0}^nf(x_i)\Delta x_i\) ,可以想到利用被积函数在区间 \([a,b]\) 上一些离散节点 \(x_k\) 处的函数值 \(f(x_k)\) 的线性组合来得到近似积分值: \(\displaystyle I=\sum_{k=0}^nA_kf(x_k)\) 。则得求积公式的一般形式: \(\displaystyle\int_a^bf(x)dx\approx\sum_{k=0}^nA_kf(x_k)\) ,其中 \(\{x_k\}\)求积点\(A_k\)求积系数。或表示为 \(\displaystyle\int_a^bf(x)dx=\sum_{k=0}^nA_kf(x_k)+R[f]\) ,其中 \(R[f]\) 为求积公式的误差余项

积分中值定理:在 \([a,b]\) 内存在一点 \(\xi\) ,有 \(\displaystyle\int_a^bf(x)dx=(b-a)f(\xi)\)

问题: \(\xi\) 未知

取特殊点为 \(\xi\) 求近似解:

  • 左矩形求积公式\(\displaystyle\int_a^bf(x)dx\approx f(a)(b-a),\quad R[f]=\frac{(b-a)^2}{2}f'(\xi)\ (\xi\in(a,b))\)

  • 右矩形求积公式\(\displaystyle\int_a^bf(x)dx\approx f(b)(b-a),\quad R[f]=-\frac{(b-a)^2}{2}f'(\eta)\ (\eta\in(a,b))\)

  • 中矩形求积公式\(\displaystyle\int_a^bf(x)dx\approx f(\frac{a+b}{2})(b-a),\quad R[f]=-\frac{(b-a)^3}{24}f''(\eta)\ (\eta\in(a,b))\)

代数精度

若求积公式 \(\displaystyle\int_a^bf(x)dx\approx\sum_{k=0}^nA_kf(x_k)\)\(f(x)=x^j\ (j=0,1,\dots,m)\) 都精确成立,但对 \(f(x)=x^{m+1}\) 不精确成立。即: \(\left\{\begin{array}{l}\displaystyle\int_a^bx^jdx=\sum_{k=0}^nA_kx_k^j\quad j=0,1,\dots,m\\\displaystyle\int_a^bx^{m+1}dx\approx\sum_{k=0}^nA_kx_k^{m+1}\end{array}\right.\) ,则称此公式具有 \(\mathbf m\) 次代数精度

可见,具有 \(m\) 次代数精度的求积公式对最高次 \(\le m\) 的多项式函数均是精确成立的。由由于,所有函数均可由多项式函数逼近,因此代数精度越高,求积公式的精度就越高。

利用代数精度求求积公式:若求积公式 \(\displaystyle\int_a^bf(x)dx\approx\sum_{k=0}^nA_kf(x_k)\) 具有 \(n\) 次代数精度,则: \[ \begin{array}{c}\left\{\begin{array}{l}A_0+A_1+\dots+A_n=b-a\\ \displaystyle x_0A_0+x_1A_1+\dots+x_nA_n=\frac{b^2-a^2}{2}\\ \dots\\\displaystyle x_0^n+x_1^n+\dots+x_n^nA_n=\frac{b^{n+1}-a^{n+1}}{n+1} \end{array}\right.\\ 即\begin{pmatrix} 1 &1 &\cdots &1 \\ x_0 &x_1 &\cdots &x_n \\ \vdots &\vdots &\ddots &\vdots \\ x_0^n &x_1^n &\cdots &x_n^n \end{pmatrix} \begin{pmatrix} A_0 \\ A_1 \\ \vdots \\ A_n \end{pmatrix}= \begin{pmatrix} b-a \\ (b^2-a^2)/2 \\ \vdots \\ (b^{n+1}-a^{n+1})/(n+1) \end{pmatrix}\\ D=\begin{vmatrix} 1 &1 &\cdots &1 \\ x_0 &x_1 &\cdots &x_n \\ \vdots &\vdots &\ddots &\vdots \\ x_0^n &x_1^n &\cdots &x_n^n \end{vmatrix}=\displaystyle\prod_{0\le i<j\le n}(x_j-x_i)\neq0 \end{array} \] 因此该方程组有唯一解。

插值型数值求积公式

定义:已知定积分 \(I=\displaystyle \int_a^bf(x)dx\) 的被积函数 \(f(x)\) 在节点 \(a\le x_0<x_1<\dots<x_n\le b\) 上的函数值 \(y_k=f(x_k),\ k=0,1,\dots,n\) 。则可构造 \(n\) 次Lagrange插值多项式 \(L_n(x)=\displaystyle\sum_{k=0}^nf(x_k)l_k(x)\) ,其中 \(l_k(x)\) 为Lagrange插值的基函数。因此
\(\displaystyle I_n=\int_a^bf(x)dx\approx\int_a^bL_n(x)dx=\int_a^b\left[\sum_{k=0}^nf(x_k)l_k(x)\right]dx=\sum_{k=0}^n\left[\int_a^bl_k(x)dx\right]f(x_k)\)
\(A_k=\displaystyle\int_a^bl_k(x)dx\) ,称之为求积系数,则有 \(\int_a^bL_n(x)dx=\sum_{k=0}^nA_kf(x_k)\) ,称之为插值型求积公式

误差:若 \(f(x)\)\([a,b]\)\(n+1\) 阶连续导数,则Lagrange插值余项为:
\(\displaystyle f(x)-L_n(x)=\frac{f^{(n+1)}(\xi_x)}{(n+1)!}\omega_{n+1}(x),\ \xi_x\in(a,b)\)
从而得到插值型求积公式的误差如下 \(\displaystyle R[f]=\int_a^b[f(x)-L_n(x)]dx=\frac{1}{(n+1)!}\int_a^bf^{n+1}(\xi_x)\omega_{n+1}(x)dx,\ \xi_x\in(a,b)\)

加入权函数项非负连续函数 \(\rho(x)\) (物理意义为密度函数),则求积系数 \(\displaystyle A_k=\int_a^b\rho(x)l_k(x)dx\) ,误差表达式 \(\displaystyle R[f]=\frac{1}{(n+1)!}\int_a^b\rho(x)f^{n+1}(\xi_x)\omega_{n+1}(x)dx,\ \xi_x\in(a,b)\)

Newton-Cotes公式

定义:为简化计算,取等距节点 \(x_k=a+kh\ (k=0,1,\dots,n,\ h=(b-a)/n)\) ,则: \[ \begin{array}{c} \displaystyle A_k=\int_a^bl_k(x)dx=\int_a^b\left[\prod_{i=0,i\neq k}^n\right]dx\xlongequal{令x=a+th}\frac{(-1)^{n-k}h}{k!(n-k)!}\int_0^n\left[\prod_{i=0,i\neq k}^n(t-i)\right]dt\\ 令\ C_k^{(n)}=\displaystyle\frac{1}{b-a}A_k=\frac{(-1)^{n-k}}{nk!(n-k)!}\int_0^n\left[\prod_{i=0,i\neq k}^n(t-i)\right]dt,\quad k=0,1,\dots,n\\ 则有\ \displaystyle\int_a^bf(x)dx\approx(b-a)\sum_{k=0}^nC_k^{(n)}f(x_k) \end{array} \] 称最后一行式为Newton-Cotes公式\(C_k^{(n)}\)Cotes系数

  • \(f(x)\in C^2[a,b]\) ,则 \(n=1\) 时,Newton-Cotes公式为:
    \(\displaystyle\int_a^bf(x)dx\approx\frac{b-a}{2}[f(a)+f(b)]\)
    误差为 \(R[f]=\displaystyle-\frac{(b-a)^3}{12}f''(\eta)\le\frac{\max\limits_{a\le x\le b}|f''(x)|}{12}(b-a)^3,\ \eta\in(a,b)\)
    由于图像为梯形,称为梯形公式,记为 \(\mathbf T\)
  • \(f(x)\in C^4[a,b]\) ,则 \(n=2\) 时,Newton-Cotes公式为:
    \(\displaystyle\int_a^bf(x)dx\approx\frac{b-a}{6}\left[f(a)+4f\left(\frac{a+b}{2}\right)+f(b)\right]\)
    误差为 \(R[f]=\displaystyle-\frac{(b-a)^5}{2880}f^{(4)}(\eta)\le\frac{\max\limits_{a\le x\le b}|f^{(4)}(x)|}{2880}(b-a)^5,\ \eta\in(a,b)\)
    由于图像为抛物线,称为抛物线公式Simpson公式,记为 \(\mathbf S\) 。其代数精度为 \(3\)
  • 依次,Cotes系数可查【Cotes系数表】。当Cotes系数出现相反数时,公式数值不稳定,因此高次Newton-Cotes公式没有实用价值。

Newton-Cotes公式的截断误差为: \(\begin{array}{r}R[f]=\left\{\begin{array}{l}\displaystyle\frac{f^{(n+1)}(\eta)}{(n+1)!}\int_a^b\omega_{n+1}(x)dx\quad n为奇数\\\displaystyle\frac{f^{(n+2)}(\eta)}{(n+2)!}\int_a^b\omega_{n+1}(x)dx\quad n为偶数\end{array}\right.\\\eta\in(a,b)\end{array}\)

\(n+1\) 个节点的插值型求积公式至少具有 \(n\) 次代数精度, \(n\) 是偶数时Newton-Cotes公式具有 \(n+1\) 次代数精度。