7. 牛顿-柯特斯公式

数值分析



周维祺

引入:代数精度

给定区间[a,b][a,b],若对任意n次多项式p(x)p(x),数值积分方法I~p\tilde Ip都能给出abp(x)dx\int_a^bp(x)dx的准确值,则称该方法I~\tilde I[a,b][a,b]上具有nn次代数精度

例子

  • 在区间[a,b][a,b]上利用中点公式:I~f=(ba)f(a+b2)\tilde If=(b-a)f(\frac{a+b}{2})

  • 对一次多项式p(x)=c0+c1xp(x)=c_0+c_1x 有:

  • abp(x)dx=ab(c0+c1x)dx=c0(ba)+c1b2a22\int_a^bp(x)dx=\int_a^b(c_0+c_1x)dx=c_0(b-a)+c_1\frac{b^2-a^2}{2}

  • I~p=(ba)(c0+c1a+b2)=abp(x)dx\tilde Ip=(b-a)(c_0+c_1\frac{a+b}{2})=\int_a^bp(x)dx

积分是线性运算

abk=0nckxkdx=k=0nckabxkdx\int_a^b\sum_{k=0}^nc_kx^kdx=\sum_{k=0}^nc_k\int_a^bx^kdx

代数精度的计算

若线性方法I~\tilde I可以精确计算1,x,,xn1,x,\ldots, x^n[a,b][a,b]上的积分值
I~\tilde I至少具有nn次代数精度

例子

在区间[a,b][a,b]上利用梯形公式:

I~f=(ba)f(a)+f(b)2\tilde If=(b-a)\cdot\frac{f(a)+f(b)}{2}

p(x)=1p(x)=1

abp(x)dx=ba\int_{a}^bp(x)dx=b-a

I~p=(ba)1+12=ba\tilde Ip=(b-a)\cdot\frac{1+1}{2}=b-a

p(x)=xp(x)=x

abp(x)dx=12(b2a2)\int_{a}^bp(x)dx=\frac{1}{2}(b^2-a^2)

I~p=(ba)a+b2=12(b2a2)\tilde Ip=(b-a)\cdot\frac{a+b}{2}=\frac{1}{2}(b^2-a^2)

p(x)=x2p(x)=x^2

abp(x)dx=13(b3a3)\int_{a}^bp(x)dx=\frac{1}{3}(b^3-a^3)

I~p=(ba)a2+b22abp(x)dx\tilde Ip=(b-a)\cdot\frac{a^2+b^2}{2}\neq\int_{a}^bp(x)dx

中点法和梯形法的最高代数精度均为1次

练习

求以下数值积分公式在[-1,1]上的最高代数精度

I~f=14(f(1)+3f(13)+3f(13)+f(1))\tilde If=\frac{1}{4}\left(f(-1)+3f(-\frac{1}{3})+3f(\frac{1}{3})+f(1)\right)

牛顿-柯特斯:多项式插值的数值积分

  • Δx=(ba)/n\Delta x=(b-a)/n

  • a=x0<x1<<xn=ba=x_0<x_1<\ldots<x_n=b,其中 xk=x0+kΔxx_k=x_0+k\Delta x

  • pk(x)p_k(x)为第kk个拉格朗日插值基,即pk(xj)={1j=k0jkp_k(x_j)=\begin{cases}1 & j=k \\ 0& j\neq k\end{cases}

牛顿-柯特斯公式

I~f=abp(x)dx=k=0nf(xk)abpk(x)dx权值wk\tilde If=\int_a^bp(x)dx=\sum_{k=0}^nf(x_k)\underbrace{\int_a^bp_k(x)dx}_{\text{权值}w_k}

牛顿-柯特斯公式

n=1n=1: 梯形公式
n=2n=2: 辛普森法

练习

求辛普森法在[a,b][a,b]上的最高代数精度

I~f=ba6(f(a)+4f(a+b2)+f(b))\tilde If=\frac{b-a}{6}\left(f(a)+4f(\frac{a+b}{2})+f(b)\right)

代数精度的一般原则

  • n+1n+1个节点的插值型求积公式至少具有nn次代数精度

  • nn为偶数时,n+1n+1个节点的牛顿-柯特斯公式至少具有n+1n+1次代数精度

  • 拓展阅读:n+1n+1个节点的高斯求积公式至少具有2n+12n+1次代数精度

小结

  • 代数精度的概念和计算

  • 插值型求积公式和牛顿-科特斯公式的概念