我们在微积分中,通过切割面积,使用无数个矩形去逼近曲线的面积,然后求极限得到曲线的面积,但是通过上面的图可以发现,这样太慢了,其他问题还有
- f(x)形式复杂,求原函数非常困难
f(x)=ax2+bx+c
- f(x)的原函数不能用初等函数形式表示
f(x)=lnx1,e−x2,sinx2,xsinx
- f(x)虽有初等函数表示的原函数,但其原函数表示形式相当复杂
f(x)=1+x41
- f(x)本身没有解析表达式,其函数关系由表格或图像给出,如实验或测量数据。
牛顿-柯斯特公式
在数值分析上,梯形法则和辛普森法则都是数值积分的方法,用于计算定积分
这两种方法都属于牛顿-柯斯特公式,使函数于等距n+1点的值,取得一个n次的多项式来近似原来的函数,再行求积
积分中值定理
对于连续函数f(x),有
I=∫abf(x)dx=(b−a)f(c),c∈[a,b]
若能对f(c)提供一种近似,就能够得到对应的数值积分公式
III=∫abf(x)dx≈(b−a)f(a)=∫abf(x)dx≈(b−a)f(b)=∫abf(x)dx≈(b−a)f(2a+b)左矩形公式右矩形公式中矩形公式
设f(x)在[a,b]内n+1个节点xi处的高度为f(xi),可通过加权平均的方法近似地得到平均高度f(c),从而得到求积公式
I=∫abf(x)dx≈i=0∑nAif(xi)
- xi为求积节点
- Ai为求积系数
称
Rn(f)=∫abf(x)dx−i=0∑nAif(xi)
为求积公式的截断误差
以中矩形公式为例,设F(x)为f(x)的原函数
∫axf(s)ds=F(x)
由泰勒展开可知
∫aa+hf(s)ds=F(a+h)=F(a)+F′(a)h+F′′(a)2h2+F′′′(a)6h3+O(h4),h=b−a
由F(x)的定义可知
F(a)F′(a)F′′(a)F′′′(a)=0=f(a)=f′(a)=f′′(a)
从而
∫aa+hf(s)ds=0+f(a)h+f′(a)2h2+f′′(a)6h3+O(h4)
而
h⋅f(a+2h)=h⋅[f(a)+f′(a)2h+f′′(a)8h2+O(h3)]
于是
∣∣∣∫aa+hf(s)ds−h⋅f(a+2h)∣∣∣=24h3f′′(a)+O(h4)=O(h3)
插值求积公式
值是建立逼近函数的手段,用以研究原函数的性质。因此,可以用插值函数的导数近似为原函数的导数
f(k)(x)≈Ln(k)x
设[a,b]上的节点为a=x0<x1<⋅<xn<b,则f(x)的拉格朗日插值多项式为
Ln(x)=i=0∑nli(x)f(xi),li(x)=j=0,j=i∏nxi−xjx−xj
用Ln(x)作为f(x)的近似函数有
I=∫abf(x)dx≈∫abLn(x)dx=∫abi=0∑nli(x)f(xi)dx=i=0∑n(∫abli(x)dx)f(xi)
记Ai=∫abli(x)dx,则有插值性求积公式
I=∫abf(x)dx≈i=0∑nAif(xi)
Ai只与插值节点xi有关,与被积函数f(x)无关
上述公式的截断误差为
Rn(f)wn+1=∫ab[f(x)−Ln(x)]dx=(n+1)!1∫abf(n+1)(c)wn+1(x)dx=i=0∏n(x−xi),c∈(a,b)
Cotes系数
在插值型求积公式中,取等距节点,即将[a,b]作n等分,记节点为xi=a+ih(i=1,2,⋯,n),h=nb−a。记x=a+th,则
Ai=∫abj=0,j=i∏nxi−xjx−xjdx=h∫0nj=0,j=i∏ni−jt−jdt=nb−a⋅i!(n−i)!(−1)n−i∫0nj=0,j=i∏n(t−j)dt
记
Ci(n)=n1i!(n−i)!(−1)n−i∫0nj=0,j=i∏n(t−j)dt⇒Ai=(b−a)Ci(n)
于是得到牛顿-柯斯特公式
I=∫abf(x)dx≈(b−a)i=0∑nCi(n)f(xi)
Ci(n)成为Cotes系数
- 对称性:Ci(n)=Cn−i(n)
- ∑i=1nCi(n)=1
梯形公式
C0(1)I=C1(1)=∫01tdt=21=∫abf(x)dx≈2b−a[f(a)+f(b)]
若f′′(x)在[a,b]上连续,则梯形公式的截断误差为
R1(f)=−12(b−a)3f′′(c),c∈[a,b]
辛普森公式
n=2,Simpsonrule
C0(2)C1(2)I=C2(2)=41∫02t(t−1)dt=61=41∫02t(t−2)dt=64=∫abf(x)dx≈6b−a[f(a)+4f(2a+b)+f(b)]
若f(4)(x)在[a,b]上连续,则辛普森公式的截断误差为
R2(f)=−2880(b−a)5f(4)(c)=−901(2b−a)5f(4)(c),c∈[a,b]
辛普森3/8公式
I=∫abf(x)dx≈8b−a[f(x0)+3f(x1)+3f(x2)+f(x3)]
柯斯特公式
n=4,Cotesrule
I=∫abf(x)dx≈90b−a[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]
若f(6)(x)在[a,b]上连续,则柯特斯公式的截断误差为
R4(f)=−1013760(b−a)7f(4)(c)=−4958(2b−a)7f(6)(c),c∈[a,b]
总结
方法 |
公式 |
梯形公式 |
I=∫abf(x)dx≈2b−a[f(a)+f(b)] |
辛普森公式 |
I=∫abf(x)dx≈6b−a[f(a)+4f(2a+b)+f(b)] |
辛普森3/8公式 |
I=∫abf(x)dx≈8b−a[f(x0)+3f(x1)+3f(x2)+f(x3)] |
柯斯特公式 |
I=∫abf(x)dx≈90b−a[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)] |
参考