Newton-Cotes求积公式(一) | 一般形式 +公式稳定性 +截断误差与代数精度

1. Newton-Cotes公式的一般形式

对于 I = ∫ a b f ( x ) d x I=\int_a^bf(x)dx I=abf(x)dx,将区间 [ a , b ] [a,b] [a,b]分成n等份,步长为:
h = ( b − a ) n h=\frac{(b-a)}{n} h=n(ba)
故求积节点 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),通过这 n + 1 n+1 n+1个节点构造一个n次代数多项式 p n ( x ) ≅ f ( x ) p_n(x) \cong f(x) pn(x)f(x)。令
x = a + t h ( t = 0 , 1 , 2 , ⋯   , k , ⋯   , n ) x=a+th \quad (t=0,1,2,\cdots,k,\cdots,n) x=a+th(t=0,1,2,,k,,n)
作积分变换
d x = h d t dx=hdt dx=hdt

x = a , t = 0 ; x = b , t = n x=a,t=0; \quad x=b,t=n x=a,t=0;x=b,t=n

A k = ∫ a b l k ( x ) d x A_k=\int_a^bl_k(x)dx Ak=ablk(x)dx计算求积系数 A k ( k = 0 , 1 , 2 , ⋯   , n ) A_k(k=0,1,2,\cdots,n) Ak(k=0,1,2,,n),即:
A k = ∫ a b l k ( x ) d x = ∫ a b ∏ j = 0 , j ≠ k n x − x j x k − x j d x = ∫ 0 n ∏ j = 0 , j ≠ k n ( a + t h ) − ( a + j h ) ( a + k h ) − ( a + j h ) h d t = ∫ 0 n ∏ j = 0 , j ≠ k n t − j k − j h d t = h ∫ 0 n ∏ j = 0 , j ≠ k n t − j k − j d t A_k=\int_a^bl_k(x)dx=\int_a^b\prod^n_{j=0,j\neq k}\frac{x-x_j}{x_k-x_j}dx=\int_0^n\prod^n_{j=0,j\neq k}\frac{(a+th)-(a+jh)}{(a+kh)-(a+jh)}hdt \\ =\int_0^n \prod^n_{j=0,j\neq k}\frac{t-j}{k-j}hdt=h\int_0^n\prod_{j=0,j\neq k}^n\frac{t-j}{k-j}dt Ak=ablk(x)dx=abj=0,j=knxkxjxxjdx=0nj=0,j=kn(a+kh)(a+jh)(a+th)(a+jh)hdt=0nj=0,j=knkjtjhdt=h0nj=0,j=knkjtjdt
因为
∏ j = 0 , j ≠ k n ( k − j ) = k ( k − 1 ) ⋯ ( k − ( k − 1 ) ) ⋅ ( k − ( k + 1 ) ) ⋯ ( k − n ) = k ( k − 1 ) ⋯ 1 ⋅ ( − 1 ) ( − 2 ) ⋯ ( − ( n − k ) ) = k ! ( − 1 ) n − k ( n − k ) ! \prod^n_{j=0, j\neq k}(k-j)=k(k-1)\cdots(k-(k-1))·(k-(k+1))\cdots (k-n)\\ =k(k-1)\cdots 1·(-1)(-2)\cdots (-(n-k))=k!(-1)^{n-k}(n-k)! j=0,j=kn(kj)=k(k1)(k(k1))(k(k+1))(kn)=k(k1)1(1)(2)((nk))=k!(1)nk(nk)!
所以
A k = h ( − 1 ) n − k k ! ( n − k ) ! ∫ 0 n ∏ j = 0 , j ≠ k n ( t − j ) d t A_k=\frac{h(-1)^{n-k}}{k!(n-k)!}\int_0^n\prod_{j=0,j\neq k}^n(t-j)dt Ak=k!(nk)!h(1)nk0nj=0,j=kn(tj)dt

C k = A k b − a = A k n h = ( − 1 ) n − k n k ! ( n − k ) ! ∫ 0 n ∏ j = 0 , j ≠ k n ( t − j ) d t (1) C_k=\frac{A_k}{b-a}=\frac{A_k}{nh}=\frac{(-1)^{n-k}}{nk!(n-k)!}\int_0^n\prod_{j=0,j\neq k}^n(t-j)dt \tag{1} Ck=baAk=nhAk=nk!(nk)!(1)nk0nj=0,j=kn(tj)dt(1)
C k C_k Ck为Cotes(柯特斯)系数。故
∫ a b f ( x ) d x ≅ ( b − a ) ∑ k = 0 n C k f ( x k ) (2) \int_a^bf(x)dx\cong (b-a)\sum_{k=0}^nC_kf(x_k) \tag{2} abf(x)dx(ba)k=0nCkf(xk)(2)
(1)式即为n阶的Newton-Cotes公式的一般形式。

如果给定n,则 C k C_k Ck可由(1)式计算出来。下标给出了 n = 1 ∼ 10 n=1\sim 10 n=110的Cotes系数。应该注意

1)表中的系数 c k c_k ck要乘倍率K,才是公式(1)和(2)中的 C k C_k Ck。例如,当n=3时, C 0 = 1 8 , C 1 = 3 8 , C 2 = 3 8 , C 3 = 1 8 C_0=\frac{1}{8},C_1=\frac{3}{8},C_2=\frac{3}{8},C_3=\frac{1}{8} C0=81,C1=83,C2=83,C3=81

2)当n大于等于6时,表中未列出的系数可根据对称性得到。例如,当n=6时, C 6 = 41 840 C_6=\frac{41}{840} C6=84041

根据上述规则,可以写出 n = 4 n=4 n=4的Newton-Cotes公式如下:
∫ a b f ( x ) d x ≅ 1 90 ( b − a ) [ 7 f ( x 0 ) + 32 f ( x 1 ) + 12 f ( x 2 ) + 32 f ( x 3 ) + 7 f ( x 4 ) ] \int_a^bf(x)dx \cong \frac{1}{90}(b-a)[7f(x_0)+32f(x_1)+12f(x_2)+32f(x_3)+7f(x_4)] abf(x)dx901(ba)[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]
其中, x 0 = a , x 4 = b x_0=a,x_4=b x0=a,x4=b.

2. Newton-Cotes公式的稳定性

在Newton-Cotes公式(2)中,设计算函数值 f ( x k ) ( k = 1 , 2 , ⋯   , n ) f(x_k)(k=1,2,\cdots,n) f(xk)(k=1,2,,n)所产生的舍入误差为 ϵ k ( k = 1 , 2 , ⋯   , n ) \epsilon_k(k=1,2,\cdots,n) ϵk(k=1,2,,n),则用Newton-Cotes公式计算积分的误差为:
η = ( b − a ) ∑ k = 0 n C k f ( x k ) − ( b − a ) ∑ k = 0 n C k [ f ( x k ) + ϵ k ] = ( b − a ) ∑ j = 0 n C k ϵ k \eta=(b-a)\sum_{k=0}^nC_kf(x_k)-(b-a)\sum_{k=0}^nC_k[f(x_k)+\epsilon_k]=(b-a)\sum_{j=0}^nC_k\epsilon_k η=(ba)k=0nCkf(xk)(ba)k=0nCk[f(xk)+ϵk]=(ba)j=0nCkϵk
ϵ = m a x 0 ≤ k ≤ n ∣ ϵ k ∣ \epsilon=max_{0\leq k\leq n}|\epsilon_k| ϵ=max0knϵk,当Cotes系数全为正时 ( n ≤ 7 , n = 9 ) (n\leq 7,n=9) (n7,n=9),则
∣ η ∣ ≤ ( b − a ) ∑ k = 0 n ∣ C k ϵ k ∣ ≤ ( b − a ) ϵ ∑ k = 0 n ∣ C k ∣ = ( b − a ) ϵ |\eta|\leq (b-a)\sum_{k=0}^n|C_k\epsilon_k|\leq (b-a)\epsilon \sum_{k=0}^n|C_k|=(b-a)\epsilon η(ba)k=0nCkϵk(ba)ϵk=0nCk=(ba)ϵ
所以,Newton-Cotes公式是数值稳定的。如果Cotes系数有正有负,则 ∑ k = 0 n ∣ C k ∣ > 1 \sum_{k=0}^n|C_k|>1 k=0nCk>1

随着n的增大,该值变得越来越大,并且对 ∣ η ∣ |\eta| η的影响越来越大,容易出现数值不稳定现象。因此,高阶 ( n ≥ 8 ) (n\geq 8) (n8)的Newton-Cotes公式在实际中很少应用。

3. 截断误差与代数精度

  1. 截断误差

Newton-Cotes公式是插值型求积公式,故其余项R是Lagrange插值多项式余项的积分:
R = ∫ a b f ( x ) d x − ∑ i = 0 n A i f ( x i ) = ∫ a b f ( n + 1 ) ( ξ ) ( n + 1 ) ! ∏ i = 0 n ( x − x i ) d x , ξ ∈ [ a , b ] R=\int_a^bf(x)dx-\sum_{i=0}^nA_if(x_i)=\int_a^b\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^n(x-x_i)dx, \quad \xi\in[a,b] R=abf(x)dxi=0nAif(xi)=ab(n+1)!f(n+1)(ξ)i=0n(xxi)dx,ξ[a,b]

R = ∫ a b f ( n + 1 ) ( ξ ) ( n + 1 ) ! ∏ i = 0 n ( x − x i ) d x , ξ ∈ [ a , b ] R=\int_a^b\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^n(x-x_i)dx, \quad \xi \in [a,b] R=ab(n+1)!f(n+1)(ξ)i=0n(xxi)dx,ξ[a,b]
做积分变换 x = a + t h , d x = h d t , x = a , t = 0 ; x = b , t = n x=a+th,dx=hdt,x=a,t=0;x=b,t=n x=a+th,dx=hdt,x=a,t=0;x=b,t=n,有:
R = ∫ 0 a f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( a + t h − a − 0 h ) ( a + t h − a − 1 h ) ⋯ ( a + t h − a − n h ) h d t R=\int_0^a\frac{f^{(n+1)}(\xi)}{(n+1)!}(a+th-a-0h)(a+th-a-1h)\cdots(a+th-a-nh)hdt R=0a(n+1)!f(n+1)(ξ)(a+tha0h)(a+tha1h)(a+thanh)hdt

R = h n + 2 ( n + 1 ) ! ∫ 0 n f ( n + 1 ) ( ξ ) ∏ k = 0 n ( t − k ) d t , ξ ∈ [ a , b ] R=\frac{h^{n+2}}{(n+1)!}\int_0^nf^{(n+1)}(\xi)\prod_{k=0}^n(t-k)dt, \quad \xi\in [a,b] R=(n+1)!hn+20nf(n+1)(ξ)k=0n(tk)dt,ξ[a,b]
在推导几个低阶Newton-Cotes公式的截断误差时,会用到广义积分中值定理。即:

定理1:设函数 g ( x ) g(x) g(x) f ( x ) g ( x ) f(x)g(x) f(x)g(x)在[a,b]上可积,函数 f ( x ) f(x) f(x) [ a , b ] [a,b] [a,b]上连续,且 m ≤ f ( x ) ≤ M m\leq f(x)\leq M mf(x)M(m,M为常数),函数 g ( x ) g(x) g(x) [ a , b ] [a,b] [a,b]上不变号,即始终有 g ( x ) ≤ 0 g(x)\leq 0 g(x)0 g ( x ) ≥ 0 g(x) \geq 0 g(x)0,则
∫ a b f ( x ) g ( x ) d x = f ( ξ ) ∫ a b g ( x ) d x , ξ ∈ [ a , b ] \int_a^bf(x)g(x)dx=f(\xi)\int_a^bg(x)dx, \quad \xi \in[a,b] abf(x)g(x)dx=f(ξ)abg(x)dx,ξ[a,b]

  1. 代数精度

定理2:具有n+1个求积节点的Newton-Cotes公式在n为偶数时,其代数精度为n+1次。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值