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

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

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

由Ak=∫ablk(x)dxA_k=\int_a^bl_k(x)dxAk​=∫ab​lk​(x)dx计算求积系数Ak(k=0,1,2,⋯,n)A_k(k=0,1,2,\cdots,n)Ak​(k=0,1,2,⋯,n),即:
Ak=∫ablk(x)dx=∫ab∏j=0,j≠knx−xjxk−xjdx=∫0n∏j=0,j≠kn(a+th)−(a+jh)(a+kh)−(a+jh)hdt=∫0n∏j=0,j≠knt−jk−jhdt=h∫0n∏j=0,j≠knt−jk−jdtA_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​=∫ab​lk​(x)dx=∫ab​j=0,j​=k∏n​xk​−xj​x−xj​​dx=∫0n​j=0,j​=k∏n​(a+kh)−(a+jh)(a+th)−(a+jh)​hdt=∫0n​j=0,j​=k∏n​k−jt−j​hdt=h∫0n​j=0,j​=k∏n​k−jt−j​dt
因为
∏j=0,j≠kn(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​=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)!
所以
Ak=h(−1)n−kk!(n−k)!∫0n∏j=0,j≠kn(t−j)dtA_k=\frac{h(-1)^{n-k}}{k!(n-k)!}\int_0^n\prod_{j=0,j\neq k}^n(t-j)dt Ak​=k!(n−k)!h(−1)n−k​∫0n​j=0,j​=k∏n​(t−j)dt

Ck=Akb−a=Aknh=(−1)n−knk!(n−k)!∫0n∏j=0,j≠kn(t−j)dt(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​=b−aAk​​=nhAk​​=nk!(n−k)!(−1)n−k​∫0n​j=0,j​=k∏n​(t−j)dt(1)
称CkC_kCk​为Cotes(柯特斯)系数。故
∫abf(x)dx≅(b−a)∑k=0nCkf(xk)(2)\int_a^bf(x)dx\cong (b-a)\sum_{k=0}^nC_kf(x_k) \tag{2} ∫ab​f(x)dx≅(b−a)k=0∑n​Ck​f(xk​)(2)
(1)式即为n阶的Newton-Cotes公式的一般形式。

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

1)表中的系数ckc_kck​要乘倍率K,才是公式(1)和(2)中的CkC_kCk​。例如,当n=3时,C0=18,C1=38,C2=38,C3=18C_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时,C6=41840C_6=\frac{41}{840}C6​=84041​。

根据上述规则,可以写出n=4n=4n=4的Newton-Cotes公式如下:
∫abf(x)dx≅190(b−a)[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]\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)] ∫ab​f(x)dx≅901​(b−a)[7f(x0​)+32f(x1​)+12f(x2​)+32f(x3​)+7f(x4​)]
其中,x0=a,x4=bx_0=a,x_4=bx0​=a,x4​=b.

2. Newton-Cotes公式的稳定性

在Newton-Cotes公式(2)中,设计算函数值f(xk)(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=0nCkf(xk)−(b−a)∑k=0nCk[f(xk)+ϵk]=(b−a)∑j=0nCkϵ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 η=(b−a)k=0∑n​Ck​f(xk​)−(b−a)k=0∑n​Ck​[f(xk​)+ϵk​]=(b−a)j=0∑n​Ck​ϵk​
令ϵ=max0≤k≤n∣ϵk∣\epsilon=max_{0\leq k\leq n}|\epsilon_k|ϵ=max0≤k≤n​∣ϵk​∣,当Cotes系数全为正时(n≤7,n=9)(n\leq 7,n=9)(n≤7,n=9),则
∣η∣≤(b−a)∑k=0n∣Ckϵk∣≤(b−a)ϵ∑k=0n∣Ck∣=(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 ∣η∣≤(b−a)k=0∑n​∣Ck​ϵk​∣≤(b−a)ϵk=0∑n​∣Ck​∣=(b−a)ϵ
所以,Newton-Cotes公式是数值稳定的。如果Cotes系数有正有负,则∑k=0n∣Ck∣>1\sum_{k=0}^n|C_k|>1∑k=0n​∣Ck​∣>1

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

3. 截断误差与代数精度

  1. 截断误差

Newton-Cotes公式是插值型求积公式,故其余项R是Lagrange插值多项式余项的积分:
R=∫abf(x)dx−∑i=0nAif(xi)=∫abf(n+1)(ξ)(n+1)!∏i=0n(x−xi)dx,ξ∈[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=∫ab​f(x)dx−i=0∑n​Ai​f(xi​)=∫ab​(n+1)!f(n+1)(ξ)​i=0∏n​(x−xi​)dx,ξ∈[a,b]

R=∫abf(n+1)(ξ)(n+1)!∏i=0n(x−xi)dx,ξ∈[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=0∏n​(x−xi​)dx,ξ∈[a,b]
做积分变换x=a+th,dx=hdt,x=a,t=0;x=b,t=nx=a+th,dx=hdt,x=a,t=0;x=b,t=nx=a+th,dx=hdt,x=a,t=0;x=b,t=n,有:
R=∫0af(n+1)(ξ)(n+1)!(a+th−a−0h)(a+th−a−1h)⋯(a+th−a−nh)hdtR=\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+th−a−0h)(a+th−a−1h)⋯(a+th−a−nh)hdt

R=hn+2(n+1)!∫0nf(n+1)(ξ)∏k=0n(t−k)dt,ξ∈[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+2​∫0n​f(n+1)(ξ)k=0∏n​(t−k)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)≤Mm\leq f(x)\leq Mm≤f(x)≤M(m,M为常数),函数g(x)g(x)g(x)在[a,b][a,b][a,b]上不变号,即始终有g(x)≤0g(x)\leq 0g(x)≤0或g(x)≥0g(x) \geq 0g(x)≥0,则
∫abf(x)g(x)dx=f(ξ)∫abg(x)dx,ξ∈[a,b]\int_a^bf(x)g(x)dx=f(\xi)\int_a^bg(x)dx, \quad \xi \in[a,b] ∫ab​f(x)g(x)dx=f(ξ)∫ab​g(x)dx,ξ∈[a,b]

  1. 代数精度

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

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

  1. ADRC控制系统离散形式的稳定性证明

    1.引言 这个问题是最近课题组一个师兄的SCI控制论文的一部分,应师兄之邀,博主贡献了控制系统稳定性的数学证明.博主目前的研究方向跟控制领域毫无关联,只负责其中的系统收敛性证明.师兄的控制系统是一个较 ...

  2. 《数值分析》-- 数值积分

    文章目录 一.数值积分的必要性 二.数值积分的基本思想 2.1 定积分的几何意义 2.2 数值积分的理论依据 积分中值定理⭐ 2.3 求积公式的构造⭐ 左矩形公式 中矩形公式 -- 矩形公式 右矩形公 ...

  3. Python05 梯形公式 Simpson公式 Cotes公式 Romber公式(附代码)

    1. 实验结果 (1)计算如下积分的近似值及误差: (真实值约0.693147118) (2)分别使用梯形公式.Simpson 公式.Cotes 公式以及 Romber 公式计算积分的近似值,并估计误 ...

  4. 数值积分-求积公式余项,牛顿-柯特斯公式,辛普森公式,复合梯形公式,复合辛普森公式

    文章目录 1.求积公式余项 1.1 定义 1.2 Python实现求积公式余项 2.牛顿-柯特斯公式 2.1 定义 2.2 Python实现牛顿-柯特斯公式 3.复合梯形公式 3.1 定义 3.2 P ...

  5. 数值分析公式大赏(上)

    误差分析 误差的基本概念 截断误差是指在构造数值计算方法时,用有限的过程代替无限的过程或用简易的方法代替复杂的方法造成的计算结果的误差. 截断误差是由计算的方法造成的,所以也叫方法误差. 舍入误差是计 ...

  6. 数值分析——求积公式

    目录 求积公式的一般形式 求积公式的代数精度 插值型求积公式 Newton-Cotes求积公式 复化求积公式 复化梯形公式 复化Simpson公式 复化求积公式优缺点 变步长法(区间逐次分半法) 高斯 ...

  7. matlab用辛普森公式求积分_数值积分常用方法

    数值积分的基本思想 由积分中值定理可知,在积分区间 内存在一点 ,成立 式的几何意义即为:底为 而高为 的矩形的面积恰等于所求曲边梯形的面积 .因此,要想求出 式左端积分,我们只需要知道三个值: 即可 ...

  8. 数值分析公式大赏(下)

    线性代数知识 向量的范数 设x和y为n维实向量,则x和y的任意范数具有以下基本性质: 正定性: ∣ ∣ x ∣ ∣ ≥ 0 ||x||≥0 ∣∣x∣∣≥0,只有x为零向量时||x||=0 齐次性:∀k ...

  9. 数值积分 (二)| 求积公式的代数精度 + 构造方法

    3. 求积公式的代数精度 求积公式的精度可以用余项R来表示,即: ∫abf(x)dx=∑k=0nAif(xi)+R\int_a^bf(x)dx=\sum_{k=0}^nA_if(x_i)+R ∫ab​ ...

最新文章

  1. 单机版 hadoop 云平台(伪分布式)搭建 统计单词
  2. ASP.NET学习路线图
  3. 二维数组求最大子矩阵的和
  4. MSSQL返回季度开始月和某月是第几季度
  5. wenbao与最优比率生成树
  6. 计算机内存延迟,CPU性能差距竟然在这里 延迟不止在内存
  7. Elasticsearch 7.7.0 基本操作-基于 CMD 命令行
  8. 将获得到的json赋值到下拉框
  9. Java实现个人博客系统(附下载源码)
  10. Win10系统启动Markdown Pad2 报‘Awesomium.Windows.Controls.WebControl’
  11. 2017网络安全方向学习总览(转载供本人查阅而已)
  12. 雨棚板弹性法计算简图_雨棚板的计算书
  13. 使用matplotlib.plot绘制随机点位图
  14. 云时代编程语言Ballerina发布,TIOBE9月排行榜PHP排名在边缘飘摇(2019/09/16)
  15. python实现游程编码(leetcode)
  16. CTFHUB-SQL注入
  17. 关于PhotoShop中保存CMYK格式TIFF文件在GDI+错误地显示颜色的问题解决方法
  18. IDEA项目启动成功,但是打断点识别不了(打断点无效)
  19. 图像饱和度(Saturation)是什么?(颜色的鲜艳程度)
  20. 列奥纳多 • 全才 • 达 • 芬奇

热门文章

  1. MQ Reason code list
  2. VS Code很好用的markdown插件
  3. 云联惠系统在微商行业的影响力有多大
  4. oppo k7x和oppo k7哪个好 oppo k7x和oppo k7参数对比
  5. 以梦为马,不负韶华|电巢科技延安大学飞鹰计划实习班精彩回顾
  6. 设计一个名为complex的类来表示复数_CAE必修课:结构动力优化设计
  7. 记 · leo · code 2019
  8. Mac 电脑安装putty
  9. AndroidStudio近场通信
  10. 再也不要相信你的眼睛:步步逼近的AI换脸术