第五章数值积分§5.0 引言§5.1 机械求积公式§5.2 Newton-Cotes公式§5.3 变步长求积公式及其加速收敛技巧§5.4 Gauss公式§5.5 小结§5.0 引 言1. 定积分的计算可用著名的牛顿-莱布尼兹公式来计算:()()()ba f x dx Fb F a =-⎰其中F (x )是f (x )的原函数之一,可用不定积分求得。
然而在实际问题中,往往碰到以下问题: (a) 被积函数f (x )是用函数表格提供的;(b)被积函数表达式极为复杂,求不出原函数,或求出原函数后,由于形式复杂不利于计算; (c)大量函数的原函数不容易或根本无法求出,例如210x edx -⎰,概率积分10sin xdx x ⎰, 正弦型积分222224()1sin Irx H x d r x r πθθ⎛⎫=- ⎪-⎝⎭⎰回路磁场强度公式等根本无法用初等函数来表示其原函数,因而也就无法精确计算其定积分,只能运用数值积分。
2 所谓数值积分就是求积分近似值的方法。
而数值积分只需计算()f x 在节点(1,2,,)i x i n =上的值,计算方便且适合于在计算机上机械地实现。
§5.1 机械求积公式1 数值积分的基本思想 区间[a ,b ]上的定积分()ba f x dx ⎰,就是在区间[a,b]内取n+1个点01,,,n x x x ,利用被积函数f (x )在这n+1个点的函数值的某一种线性组合来近似作为待求定积分的值,即()()nbk k a k f x dx A f x =≈∑⎰右端公式称为左边定积分的某个数值积分公式。
其中,x k 称为积分节点,A k 称为求积系数。
因此,一个数值积分公式关键在于积分节点x k 的选取和积分系数A k 的决定,其中A k 与被积函数f(x)无关。
称为机械求积公式。
1.1 简单算例说明 例1 求积分1()x xf x dx⎰此积分的几何意义相当于如下图所示的曲边梯形的面积。
解:(1) 用f (x )的零次多项式00()()y L x f x ==来近似代替()f x ,于是,1100001()(()))(x x x x f x dx f x dxf x x x ≈=-⎰⎰(为左矩公式)推广:1101110()()()()x x x x f x dx f x dxf x x x ≈=-⎰⎰(为右矩公式)110010110()()2()()2x x x x x x f x dx f dxx x f x x +≈+=-⎰⎰(为中矩公式) (2) 用f (x )的一次多项式011010110()()()x x x x L x f x f x x x x x --=+-- 来近似代替()f x ,于是,[]1011101011010011()()1()()(()())2x x x x x x x x x x f x f x dx x x x x x f x dx L x dxx f x f x ⎛⎫--=+⎪--⎝⎭=-+≈⎰⎰⎰(为梯形公式)(3) 用f (x )的二次插值多项式,其中01x x x '<<011200010101101()()()()()()()()()()()()()()()()x x x x x x x x L x f x f x x x x x x x x x x x x x f x x x x x '----'=+'''----'--+'--来近似代替()f x ,于是,112()()x x x x f x dx L x dx≈⎰⎰特别地:当011()2x x x '=+时,有10100101()()()4()()62x x x x x x f x dx f x f f x -+⎡⎤≈++⎢⎥⎣⎦⎰(为Simpson 公式)2 代数精确度定义:若积分()baf x dx ⎰的数值积分公式0()()nbk k a k f x dx A f x =≈∑⎰对于任意一个次数不高于m 次的多项式都精确成立,且存在一个m+1次多项式使之不精确成立,则称该数值积分公式的代数精确度为m 。
对于代数精确度为m 的求积公式,若f (x )是不超过m 次的代数多项式,求积公式是精确成立的。
2.1 算例 例1: 有积分公式:[]11112012()()()()f x dx f f f -≈-++⎰求该积分公式的代数精确度。
这个求积公式的几何意义是曲边梯形的面积近似地用两个梯形面积来代替。
-1 01XYf(-1)f(1)f(0)解:(1)取f (x )=1,定积分1112 dx -=⎰,而数值积分[]112122++=,两端相等;(2)取f (x )=x ,定积分110xdx -=⎰,而数值积分1120102()⎡⎤⎣⎦-+⨯+=,两端相等; (3)取2()f x x =,定积分12123x dx -=⎰,而数值积分221120112()⎡⎤-+⨯+=⎣⎦,两端不相等; 只要取f (x )=1,f (x )=x 验证了上述求积公式精确成立,就意味着对于任意一个一次多项式,求积公式都是精确成立的;而取2()f x x =时求积公式不精确成立,也就是存在一个二次多项式使求积公式不精确成立;故该求积公式的代数精确度为1。
例2:在如下求积公式中,求积分节点12,x x 和相应的求积系数12,A A 使其代数精确度尽可能高。
111221()()()f x dx A f x A f x -=+⎰解:(1) f (x )=1,11 1 2dx -=⎰,而数值积分为12A A +;得到方程122A A +=;(2) f (x )=x ,11 0x dx -=⎰,而数值积分为1122AxA x +; 得到方程11220Ax A x +=;(3)2()f x x =,1212 3x dx -=⎰,而数值积分为221122A x A x +;得到方程22112223A x A x +=;(4)3()f x x=,1310x dx -=⎰,而数值积分为331122A x A x +;得到方程3311220A x A x +=;综合上述方程:1211222211223311222 (1)0 (2)2 (3)30 (4)A A A x A x A x A x A x A x +=⎧⎪+=⎪⎨+=⎪⎪+=⎩ 解得:1211,33x x =-= 121A A ==。
于是我们得到积分公式1111()()()33f x dx f f -=-+⎰。
再取4()f x x =,有14125x dx -=⎰,而数值积分为44112933⎛⎫⎛⎫-+=⎪ ⎪⎝⎭⎝⎭,两式不相等,求积公式不精确成立了。
所以,该积分公式的代数精确度为3。
§5.2 Newton-Cotes 公式1 公式的推导Newton-Cotes 公式是由拉格朗日插值公式推导出来的数值积分公式。
将区间[a ,b ]等分n 等份,记b a h n-=,分点为k x a kh =+,k=0,1,...,n ,这n+1个节点上的函数值为(),0,1,,k f x k n =,从而区间[a ,b ]上的拉格朗日插值多项式为()()()nn k k k L x f x l x ==∑其中,()k l x 为插值基本多项式,与函数f (x )无关,k=0,1,...,n 。
()()bbn aaf x dx L x dx ≈⎰⎰()()n bk k a k f x l x dx =∑⎰=00()()()nb k k a k nk k k l x dx f x A f x ==⎡⎤=⎢⎥⎣⎦=∑⎰∑由于插值结点是等距节点,故插值多项式可以进一步化简: 因为 k x a kh =+,x a th =+故()k j x x k j h -=-,()j x x t j h -=-011011()()()()()()()()()n k k k n k k k k k k x x x x x x x x l x x x x x x x x x -+-+----=----(1)(1)(1)()(1)(1)(1)()t t t k t k t n k k k k k k k n --+---=--+---0,(1)()!()!nn k j j k t j k n k -=≠-=--∏因()bk k aA l x dx =⎰,作积分变量代换x a th =+,b adx hdt dt n-==,当x a =时,t=0;当x=b 时,t=n ;故00,()1(1)()!()!nn j j k n k k b a t j dt A n k n k =≠----=⋅-∏⎰记()(),0,1,,n k k A b a C k n =-=,我们称()n k C 为柯特斯(Cotes )系数,它不仅与函数f (x )无关,而且与积 分区间[a ,b ]无关。
例如:当n=1时 (梯形积分公式中的系数)11(1)00(1)1(1)0! 1!2C t dt -=-=⎰,01(1)10(1)1(0)1! 0!2C t dt -=-=⎰;当 n=2时 (抛物线积分公式中的系数)22(2)00(1)1(1)(2)0! 2!26C t t dt -=--=⋅⎰,12(2)10(1)2(0)(2)1! 1!23C t t dt -=--=⋅⎰,02(2)20(1)1(0)(1)2! 0!26C t t dt -=--=⋅⎰;当n=3时 (3/8积分公式中的系数)33(3)00(1)1(1)(2)(3)0! 3!38C t t t dt -=---=⋅⎰, 23(3)10(1)3(0)(2)(3)1! 2!38C t t t dt -=---=⋅⎰,13(3)20(1)3(0)(1)(3)2! 1!38C t t t dt -=---=⋅⎰,03(3)30(1)1(0)(1)(2)3! 0!38C t t t dt -=---=⋅⎰;于是,由柯特斯(Cotes )系数()n k C 公式出发,我们得到n 阶Newton —Cotes公式:()()()()nbn k k ak f x dx b a C f x =≈-∑⎰。
2 低阶公式及其余项常用的Newton —Cotes 公式 a) 梯形公式 n=1时,积分节点为0x a =,1x b =,则数值积分公式为:[] ()()()2bab af x dx f a f b -≈+⎰其几何意义是曲边梯形的面积()baf x dx ⎰近似地用梯形面积[]()()2b af a f b -+来代替。