定积分的近似计算
定积分左右端点公式
定积分左右端点公式1.定积分定积分是微积分中的一个重要概念,用来计算曲线所围面积的大小。
给定一个函数f(x),在一个区间[a,b]上计算f(x)与x轴之间的面积。
2.积分区间积分区间是指定积分的范围,包括一个起点和一个终点。
在左右端点公式中,积分区间的起点为a,终点为b。
3.近似计算定积分的计算通常是很复杂的,我们可以通过近似计算的方法来得到一个近似值。
左右端点公式就是一种常用的近似计算方法。
具体来说,将积分区间[a,b]等分为n个子区间,每个子区间的长度为Δx=(b-a)/n。
在左右端点公式中,可以选择使用子区间的左端点或者右端点的函数值来计算定积分的近似值。
1.左端点公式使用子区间的左端点的函数值来计算定积分的方法叫做左端点公式。
在积分区间的每个子区间的左端点处,取函数的值作为近似计算定积分的高度。
然后将所有子区间的面积相加,即可得到定积分的近似值。
定积分的左端点公式可以表示为:∫(a to b)f(x)dx ≈ Δx * (f(x0) + f(x1) + ... + f(xn-1))其中:-Δx=(b-a)/n是每个子区间的长度- f(x0), f(x1), ..., f(xn-1) 是每个子区间的左端点处的函数值使用子区间的右端点的函数值来计算定积分的方法叫做右端点公式。
在积分区间的每个子区间的右端点处,取函数的值作为近似计算定积分的高度。
然后将所有子区间的面积相加,即可得到定积分的近似值。
定积分的右端点公式可以表示为:∫(a to b)f(x)dx ≈ Δx * (f(x1) + f(x2) + ... + f(xn))其中:-Δx=(b-a)/n是每个子区间的长度- f(x1), f(x2), ..., f(xn) 是每个子区间的右端点处的函数值-函数f(x)在积分区间[a,b]上是连续的-子区间的数量n趋于无穷大,即Δx趋于0需要注意的是,定积分左右端点公式只是近似计算定积分的方法之一,计算得到的值只是定积分的近似值,并不是准确值。
定积分定义的四要素分割近似求和
定积分定义的四要素分割近似求和积分是数学中的一种重要的操作。
它的基本概念是“定积分”,即把一段区间分割为若干小段,逐个处理每一小段,最后将每一小段的处理结果累加,从而得到全局结果。
定积分通常有四个要素,即函数f(x)、上下限a、b、以及分割数n,因此它也可以简称为“四要素定积分”,即f(x)、a、b、n。
定积分的基本思想是,把一段区间[a,b]分割为n个相近的小段,即将区间[a,b]分割为n个相等的子区间[x0,x1,…,xn-1]。
然后用区间[x0,x1]来计算函数f(x)在[x0,x1]上的积分值,再用区间[x1,x2]来求解f(x)在[x1,x2]上的积分值,以此类推,最后将各区间上的积分值累加起来,就可以得到函数f(x)在区间[a,b]上的积分值。
由于定积分是一种细长的计算,为了更有效地求解,科学家们开发出了“近似求和”的方法,即利用以某种适当的算法,分割区间[a,b],使得每一小段上的函数f(x)的大小值都比较接近,然后将每一小段上的函数f(x)值累加,从而得到函数f(x)在区间[a,b]的近似积分值。
近似求和方法与四要素定积分有着很大的不同,四要素定积分完全依赖于n,也就是区间[a,b]分割多少段,只有当n足够大时,才能最精确地求解函数f(x)在区间[a,b]上的积分值,而近似求和方法却不受n的限制,可以快速有效地求解函数f(x)在区间[a,b]上的积分值。
目前对近似求和方法的研究越来越深入,已有许多在实践中得到验证的算法,核心思想是把一个区间分割成若干小的区间,利用一定的方法来求解每一段的积分值,使得每一段的积分值都比较接近。
比如,改进的梯形法是一种常见的近似求和方法,它利用梯形计算函数f(x)在每一段区间上的积分值,然后将每段区间上的积分值累加,就可以得到函数f(x)在整个区间上的积分值。
除此之外,还可以使用其它的改进方法,例如Simpson规则、Lagrange插值法等。
最后,四要素定积分和近似求和方法各有特点,定积分的优势在于可以求出很精确的积分值,但是其计算量较大,而近似求和方法则可以求出大致的积分值,节省计算量。
定积分近似计算方法
定积分的近似计算方法摘要 本文主要讨论了一元函数常见的数值积分方法,例如插值型求积公式、龙贝格求积公式、高斯求积公式等近似计算方法,在用这些方法计算定积分时,会产生一些误差,为了减少误差, 可以利用复化求积公式、复化高斯公式等.本文围绕这些方法,系统介绍它们的计算公式以及截断误差,并用例题分析它们产生误差的大小、计算量等.关键词 插值型积分 龙贝格积分 高斯积分 误差分析 近似计算1引言在计算定积分的值()b aI f x dx =⎰时,常常根据微积分学基本定理求出)(x f 的一个原函数)(x F ,再用牛顿-莱布尼茨公式求的积分,()()()baI f x dx F b F a ==-⎰.但在实际应用中,这种方法只限于解决一小部分定积分的求值问题.当函数没有具体表达式,只是一些实验测得数据形成的表格或图形或者是()F x 无法用初等函数表示,例如,2bx ae dx ⎰,2sin ba x dx ⎰等等,这就需要我们用一些近似方法求的积分值.与数值积分一样,把积分区间细分,在每个小区间上,找到简单函数)(x ϕ来近似代替()f x ,且()b a x dx ϕ⎰的值容易求的.这样就把计算复杂的()ba f x dx ⎰转化为求简单的积分值()bax dx ϕ⎰.因此,定积分的近似计算实质上是就是被积函数的近似计算问题.2常见数值方法 2.1牛顿-科茨数值方法牛顿-科茨求积公式是求积节点等距离分布的插值型求积公式.利用插值多项式来构造数值积分公式是最常用、最基本的方法,具体做法是:给定区间[,]a b 上一组节点01...n a x x x b =<<<=,以及节点处函数()(0,1,2,i f x i n =,作()f x 的n 次拉格朗日多项式()()()nn i i i x f x l x ϕ==∑,其中 011011()()()()()()()()()i i n i i i i i i i n x x L x x x x L x x l x x x L x x x x L x x -+-+----=----,将插值公式(1)1()()()()(1)!n n n f f x x x n ξϕω++=++.其中1012()()()()()n n x x x x x x x L x x ω+=----,[,]a b ξ∈,依赖于变量x , 上式积分得(1)1()()()()(1)!n bb bn n aa af f x dx x dx x dx n ξϕω++=++⎰⎰⎰(1)(1)0()()()()(1)!n nb biiin aai f f x l x dx x dx n ξω++==++∑⎰⎰(1)(1)0()()()()(1)!n nbbi i n aai f f x b l x dx x dxn ξω++==++∑⎰⎰若记 (),(0,1,2,bi ia A l x dx i ==⎰….. )n (1)(1)1()[]()(1)!n bn af R f x dxn ξω++=+⎰, (2)则有()()[]nbi i ai f x dx A f x R f ==+∑⎰(3)称式(3)为插值求型公式,其中(0,1,2,i A i =…. )n 与()f x 无关,叫求积系数, i x 为求积节点,[]R f 为求积公式余项,其中求积系数由(1)决定.2.1.1梯形求积公式1梯形公式当插值节点01,x x 分别选取区间端点,a b 时,由式(3)分别求出求积系数10012bb aa x x xb b aA dx dx x x a b ---===--⎰⎰,01102bb aa x x x ab a A dx dx x x b a ---===--⎰⎰.从而的求积公式()[()()]2bab a f x dx f a f b -≈+⎰. (4) 称求积公式(4)为梯形求积公式,简称梯形公式.2梯形公式截断误差: 3*()[](),12b a R f f ξ-''=- *[,]a b ξ∈. (5) 3梯形求积公式的代数精度:1 当()1f x =时,式(5)中 1(1)2bab adx b a x b a -=-=+=-⎰. 精确成立.2.1.2 辛普森求积公式1辛普森求积公式当选取节点为012,,2a bx a x x b +===时,由式(1)求下列求积系数 1200102()()()()2()()6()()2b b a a a b x x b x x x x b a A dx dx a b x x x x a a b +-----===+----⎰⎰,0211002()()()()2()()()3()()22bb aa x x x x x a xb b a A dx dx a b a b x x x x a b -----===++----⎰⎰.0122021()()()()2()()6()()22b b a a a bx a x x x x x b a A dx dx a b a b x x x x a b +-----===++----⎰⎰ .从而求积公式()[()4()()]62bab a a bf x dx f a f f b -+≈++⎰. (6)称式(6)为抛物线积分公式或辛普森积分公式.2抛物线求积公式误差估计定理1.若()f x 在[,]a b 上有四阶连续导数,则抛物线公式(6)的余项为:5(4)**()[](),[,]2880b a R f f a b ξξ--=∈. (7) 3抛物线公式的代数精度为3.易验证,当23()1,,,f x x x x =时,式(6)精确成立,而当4()f x x =时,式(6)不能精确成立.2.1.3 牛顿-科茨公式1牛顿-科茨公式在等距离节点i x a ih =+下,其中(0,1,2b ah i n-==…. )n .作为变量替换x a th =+,那么由求积公式(1),得系数:10(1)(1)(1)()!(1)(1)!ni n t t t i t i t n A h dt i n ---+---==--⎰10(1)(1)...(1)(1)...()(0,1,2,...)!(1)!n nb a t t t i t i t n dt i n n i n -----+---=-⎰ (8)则 ()()n i i A b a C =- (9) 于是差值求积公式为:()0()()()[]nbn i i ai f x dx b a C f x R f ==-+∑⎰(10)称公式(10)为牛顿-科茨求积公式,其中()n iC 称为科茨系数.显然,科茨系数与被积函数()f x 及积分区间[,]a b 无关,它指依赖于n ,且为多项式积分.因此,只要给出n ,就能看出i A ,并写出相应地牛顿-科茨公式.2牛顿-科茨公式的截断误差与代数精度.当1n =与2n =情况分析牛顿-科茨公式的截断误差为(1)()[]()()()(1)!n b b bn aaaf R f f x dx x dx x dxn ξϕω+=-=+⎰⎰⎰牛顿-科茨公式的截断误差还可以写成(2)*1()[]()((2)!n bn a f R f x dx n n ξω++=+⎰为偶数)(1)*1()[]()(1)!n bn a f R f x dx n ξω++=+⎰ (n 为奇数) (11) 其中*[,]a b ξ∈,且不依赖于x ,101()()()...()n n x x x x x x x ω+=---,对()f x 为任何并不超过n 次多项式,均有(1)()0n fx +≡,因而[]0R f ≡,即0()()nbi i ai f x dx A f x ==∑⎰精确成立,也就是说,牛顿-科茨公式的代数精度至少为n ,牛顿-科茨公式在n 为偶数时,至少具有1n +次代数精度,在n 为奇数情况时,至少具有n 次代数精度.2.1.4复化梯形求积公式将区间[,]a b 等分,节点为i x a ih =+ (步长b ah n-=),0,1,2...,i n =)在每个小区间1[,]i i x x -上采用梯形公式(4)得11111()()[(()()]2ii nnbx i i i i ax i i x x f x dx f x dx f x f x ---==-=≈+=∑∑⎰⎰11[()()]2ni i i hf x f x +=+=∑11[()2()()]2n i n i hf a f x f b T -=++=∑ (12)称式(12)为复化梯形公式. 复化梯形公式余项为()2()()()12i n b a R f h f η-''=-(13) 2.1.5复化辛普森求积公式在每个小区间],[1+i i x x 上,辛普森公式(6)得11102()[()4()()]6n bi i ai i hf x dx f x f x f x -++==++∑⎰(14)111012[()4()2((6)]6n n i i i i hf a f x f x f --+===+++∑∑记 )]()(2)(4)([6111021b f x f x f a f hS n i i n i i n +++=∑∑-=-=+ (15)式中,21+i x为],[1+i i x x 的中点,即h x x i i 2121+=+.式(15)称为复化辛普森公式,其余项为∑-=-=-=10)4(4)()2(180)()(n i i n n f h h S f I f R η, 1(,).i i i x x η+∈故 ),(),()2(180)(R )4(4b a f h a b f n ∈--=ηη (16) 为复化辛普森的截断误差. 2.1.6复化科茨求积公式将区间[,]a b n 等分, 4n m =,m 为正整数,在每个子区间444[,]k k x x -上用科茨求积公式得到复化求积公式:412()[7()7()32()45mbk ak hf x dx f a f b f x -≈++∑⎰14241411112()32()14()mmm k k k N k k k f xf x f x C ---===+++=∑∑∑ (17)其中 4b a b a h n m--==, k x a kh =+ 其截断误差为6(6)2()[,](),()945n b a R f C h f a b ηη-=-<. 2.1.7 变步长复化求积方法复化求积公式虽然计算简单,也达到了提高精度的目的,但为了满足精度要求必须顾及误差,利用误差公式往往很困难,因为误差表达式中含有未知函数的导数,而估计各阶导数的最大值不太容易.我们可以采取把积分的区间[,]a b 细分的办法,在计算积分时将步长逐步折半,利用前后两次结果进行误差估计,如此继续,直到相邻两次结果相差不大,取最小的步长算出的结果为积分值,这种方法称为变步长积分法.以复化梯形公式为例,把区间[,]a b 分成n 等分,设复化梯形公式的近似值为n T ,原积分值为I ,由复化梯形公式误差公式(14)知:2"11()()()n b a b a I T f a b N N ηη--=-<<再把区间[,]a b 分成2n 等分,得近似值2n T ,则2222()()()122k b a b a I T f a b nηη--''=-<< 假定()f x ''在[,]a b 上变化不大,既有12()()f f ηη''''≈. 由上式得 .24kkI T I T -≈-于是 222211()()341n n n n n n I T T T T T T ≈+-=+-- (18) 式(18)表明若用2n T 作为I 的近似值,其截断误差约为2()3n n T T - (19)2.2 龙贝格求积公式龙贝格积分法的基本思想是采用复化梯形求积方法不断折半步长过程中,在积分结果中加入时候误差估计值进行补偿,使积分计算的收敛性加速,就可以加工出,,,...n n n S C R 精度较高的积分结果.由式(19), 2n T 的误差大致为23n nT T -,因此,可用这个误差值作为2n T 的一种补偿,加到2n T 上,则可得到积分准确值I ,比2n T 的更好近似值~T .222141()333n n n n nT T T T T T =+-=- 2221(2)21n n T T =-- (20)式(20)左端1n =时 记122121141()333S T T T T T =+-=- 112()()332a b T b a f +=+- [()4()()]62b a a b f a f f b -+=++恰好为[,]a b 上应用辛普生公式(16)的结果.在每个小区间应用辛普生公式:11[()2()()]2n n k k hT f a f x f b -==++∑121()112[()2()()2()]4n n n k k k k hT f a f x f b f x --===+++∑∑代入式(20)的左端得11111[()2()()2()32n nk k k k h f a f x f b f x -==+++--∑∑ 11[()2()()]2n k k h f a f x f b -++∑11111[()4()2()()]62n n k k k k f a f x f x f b -===+-++∑∑n S =从而复化辛普森公式与复化梯形公式公式有以下关系式2441n nn T T S -=- (21)类似也可以推证,在辛普森序列基础上,利用以下关系式22242161151541n n n n n S S C S S -=-=- (22)可以造出收敛速度更快的科茨序列12,...,...n C C C 将此推行下去,在科茨序列基础上,通过243431n nn C C R -=- (23)构造出收敛速度比科茨序列更快的龙贝格序列12,,......n R R R .以上这种通过逐步构造龙贝格序列的积分近似值法就称为龙贝格积分法.2.3高斯求积公式由定理()()()baf x F b F a =-⎰知,插值型求积公式的代数精度与求积节点的个数有关,具有1n +个节点的插值型求积公式至少具有n 次代数精度.不仅如此,代数精度与节点的选取有关,在构造牛顿-科茨求积公式时,为了简化处理过程,限定用等分节点作为求积节点,这样做,虽然公式确实得到简化,但同时也限制了公式的代数精度. 设积分,1,1=-=b a 本段讨论如下求积公式11()()ni i i f x A f x -==∑⎰(24)对任意积分区间[,]a b ,通过变 22ba t ab x ++-= 可以转换到区间]1,1[-上,这时11()()222bab a b a a bf x dx f t dt ---+=+⎰⎰ 此时,求积公式写为0()()222n bii ai b a a b b af x dx A f t =-+-=+∑⎰若一组节点]1,1[.....,10-∈n x x x 使插值型求积公式(24)具有21n +次代数精度,则称此组节点为高斯点,并称相应求积公式(24)为高斯求积公式.2.3.1 高斯求积公式的余项(2)2()[]()()()(22)!n nbb k k aa k f R f f x dx A f x x dx n ηω+==-=+∑⎰⎰ 其中01()()()...(),[,]n x x x x x x x a b ωη=---∈,且不依赖于x .2.3.2 复化高斯求积公式复化高斯求积公式的基本思想是:将积分区间[,]a b 分成n 个等长小区间1[,](1,...)i i t t i m -=,然后在低阶(2n =)高斯求积公式算出近似值,最后将他们相加的积分()baf t dt ⎰的近似值m G ,即11111111()()[]222ii mmbt i i i i i i at i i t t t t t t f t dt f t dt dt -----==-+-==+∑∑⎰⎰⎰1111[()]222m i h ha i h x dx-==+-+∑⎰101[()]222m n j j mi j h hA f a i h x G ==≈+-+≈∑∑ (25)其中mab h -=,j A 与(0,1,2,...,)j t j n =可由书中表中查出. 3 应用3.1插值型积分的应用例1 用牛顿-科茨公式(1,2,4n =)计算积分12211I x =+⎰. 解 1n =时2210112[]0.4512101()2I -≈+=++2n =时22211112[4]0.463725116101()1()42I -≈++=+++4n =时2222111112[7321232]0.46363311390101()1()1()848I =++++≈++++例2 利用复化梯形求积公式计算积分 12211I dx x =+⎰解 设211)(xx f +=,分点个数为n =1,2,4,5时,求出相应积分n T , 111[(()())],21,2(),.n n i i i i i T f a f b f h b a h n n f x f x a ih ih -=⎧=++⎪⎪-⎪==⎨⎪=⎪⎪=+=⎩∑列表如下:n =1的计算结果见表1-1所列 n h0x 1x 0f1f1T10.50.00.51.00.80.45n =2的表格如下 n h0x1x2x0f1f 2f 2T20.250.000.250.501.000.941765 0.800.460294n =4时计算结果如下表 n h 0x1x2x3x4x40.1250.000.1250.250.3750.500f1f2f3f4f4T1.000.98461540.94117650.8767120.800.462813n = 5时计算结果如下 n h0x1x2x3x4x5x50.10.00.10.20.30.40.50f1f2f3f4f5f5T1.00.9900990.96153850.917430.8620690.80.463114例3 利用复化求积公式120x e dx ⎰,问积分区间为多少等分才能得证有5位有效数字?解 由式(14)知322()[],()()1212n b a b a R f h f n f n n--''''=-=- 有1(),(),2x xf x e f x e b a ''==-=,当]21,0[∈x 时,在12|()|f x e ''≤,所以122|[]|96n eR f n≤ 由于120x e dx ⎰的准确值具有一位整数,所以要使近似值具有5位有效数字,n 必须满足4242211048,102196⨯≥⨯≤-e n n e 或 取对数有 19=n .即将区间]21,0[19等分可满足给定的精度要求.例4 利用复化抛物线求积公式计算 120211I dx x =+⎰. 解 设11)(2+=x x f ,取m =1,2, 3时,公式()⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧++=+=====-=+++=+---=-=+∑∑.)12(,2),(),(),(,,242[31221212221111,1222h i a x ih a x x f f x f f b f f a f f m a b n f f f f h S i i i i i i b a m i m i i b a m当m =1,2,3时结果如下表所示 当m =1时m h(0.0)f )25.0(f )5.0(f2S1 0.25 1.0 0.9411765 0.80 0.463725当m =2时mh(0.0)f(0.125)f (0.025)f (0.35)f )5.0(f4S20.125 1.0 0.9846154 0.9411765 0.8767123 0.80 0.463653当m =3时mh(0.0)f(0.08333)f (0.16667)f (0.35)f(0.33333)f (0.14166667)f )5.0(f4S30.83331.00.99310340.9729730.9411760.90.852070.80.4636例5 用复化梯形公式,辛普森公式和科茨公式计算积分10sin xdx x ⎰的近似值.解按精度要求确定]1,0[分多少等分,即确定步长,要使6441021)1(28801|],[|-⨯≤≤M m S f R n ,只需.4642880102M m ⨯≥令10sin ()cos xf x txdt x==⎰, 则1()0sin ()()(cos )k kk k k d xd fx tx dt dx xdx ==⎰1cos().2k t tx kdt π=+⎰dt ktx t x f k k |)2cos(|max )(|max 10)(π+≤⎰11.1k t d t t≤=+⎰)10(≤≤x (4)1max |()| 5.f x ≤所以只要,9.13831288010264=⨯⨯≥-m 取m =4即可, 当4n =时,在每个子区间上用式(25),或(14),或(17),结果.9460829.0,9460833.0,9456911.0888===C S T3.2 龙贝格积分公式应用例6 用龙贝格算法计算积分1241I dx x=+⎰的近似值,要求误差小于510-. 解 .3,0,14)(2==+=b a x x f 步骤如下:2)1(,4)0()1(==f f 得.3)]1()0([211=+=f f T )2(计算,1.3)]21([21,516)21(12=+==f T T f 由此得 301333334121=-=T T S . (3)算出),(43),41(f f 从而,3013118)]43()41([412124=++=f f T T,14157.334242=-=T T S.30142121516121=-=S S C (4)计算),87(),85(),83(),81(f f f f 从而得到:13899.3)]87()85()83()81([812148=++++=f f f f T T ,,14159.334482=-=T T S,14059.31516242=-=S S C .1458.36364121=-=C C R(5)再计算),1615(),1613(),1611(),169(),167(),165(),163(),161(f f f f f f f f从而得到: 14094.316=T30141598=S ,,14159.3,14159.324==R C 51210||-≤-R R , 所以12043.14159.1dx x ≈+⎰3.3高斯求积公式的应用例7 用两点复化高斯求积公式计算10,x I e dx =⎰要求允许误差.106-=ε解 在本算法中取21=+n 时,,110==A A 其中;,)(mab h e x f x -== =++--=∑=)22(2201j jj b a x a b f A a b G.87189637800.1][21)32121()32121(=++-eem =2时, h =21, ]4121)21([4120202j i j j x i f A G +⨯-=∑∑==.57182571650.1)(41341333413341333413=+++=++--eeee m =3时, h =31. .37182769352.1]631)21([6130203=+⨯-=∑∑==j i j j x i f A G .101027.71||||56323--<⨯≈+-G G G3.4 几种方法的比较分析例8 计算积分211ln 2dx x =⎰,精确到0.001.(1)利用矩形公式计算, 因为对于x x f 1)(=,有320()2f x x''<=<(如果1<x <2),所以按照公式0)2(S =+-dx b a x ba . 0<n R <2112n . 如果取n =10,则我们公式的余项的余数得31010.84101200R -<<⨯,我们还必须加进由于在计算函数值实行四舍五入所产生的误差的界限相差于0.16⨯310-,为了这个目的只要计算1x的值到四位小数精确到0.00005就够了.我们有1232527292132152172192 1.051.151.251.351.551.651.751.851.95x x x x x x x x x =========5128.05405.05714.06061.06897.07407.08.08696.09524.02192172152132927252321=========y y y y y y y y y 和6.928469284.0109284.6=(2) 按照梯形公式作同样的计算,在这种情况下,作公式 210,||6n n R R n<<在这儿也试一试取n =10,虽然此时仅可以证3107.16001||-⨯<<n R ,纵坐标是9.18.17.16.15.14.13.12.11.1987654321=========x x x x x x x x x 5263.05556.05882.06250.06667.07143.07692.08333.09091.0987654321=========y y y y y y y y y和1877.669377.01877.621500101=+)( (3) 用辛普森公式做同样的计算作公式 .0))(()2(180)()4(45<≤≤⨯--=n n R b a f n a b R ξξ 并且n =5时有55104.1||-⨯<R .实行计算到五位数字,精确到0.0000058.16.14.12.14321====x x x x 45636.555556.062500.071429.083333.04321和====y y y y 9.17.15.13.11.12927252321=====x x x x x83820.1352632.058824.066667.076923.090909.029********和=====y y y y y.20.150==x x 50000.150000.060000.150和==y y6931525.083820.345636.550000.1301=++)(. 由此可见,用辛普森公式计算得到的值误差最小,计算量相对一般;而用矩形公式计算得到的值误差较大,计算量也比较大;用梯形公式计算的值误差比用矩形公式得到的值要误差小,计算量也是如此.所以我们计算定积分时用辛普森公式往往得到的值误差小,而对没有要求误差大小的,则可以选择辛普森或者是梯形公式,因为这两种方法计算量相对较小.结 束 语本文只讨论了一些一维数值积分方法及其它们的应用,误差分析等有关内容.其中最常用的方法是插值型积分以及复化方法、龙贝格积分方法和高斯积分方法,并讨论了相关求积方法的代数精度和误差分析,并给出了一些例题,分析各种方法的近似值,得出误差分析最小的近似方法.由于篇幅有限,对于高维数值积分方法本文便不再讨论.参考文献[1] 华东师范大学数学系,数学分析(第一版)[M],北京:高等教育出版社,2001. [2] 李庆阳,关治,白峰杉,数值计算原理(第二版)[M],北京: 清华大学出版社, 2008. [3] 肖筱南,现代数值计算方法(第一版)[M],北京: 北京大学出版社, 1999.[4] 菲赫金格尔茨,微积分学教程(第三版)[M],北京: 高等教育出版社, 2005. [5] 裴礼文,数学分析中的典型问题与方法(第一版)[M] ,北京: 北京大学出版社,2004. [6] 李桂成,计算方法(第三版)[M],北京: 高等教育出版社,2010.[7] Yin Y uezhu ,Yang Zhonglian.Calculating Skillfully the Curve Integral and Surface Integral Type 2 bySymmetry, SCIENCE & TECHNOLOGY INFORMATION ,2008(30)The Approximate Numerical Method of the Definite IntegralAbstract This paper mainly discusses common numerical methods of unary function, such as approximate calculation method of interpolation integral, Lebesgue integral and Gauss integration. With these methods in calculating the integral, it will produce some error. In order to reduce the error, we can use after the formula for product and after the Gauss formula. This paper focus on these methods introducing formula of introduction and truncation errors .In addition they can provide examples to analysis size of the error and computation.Keywords interpolation integral Lebesgue integral Gauss integral error analysis approximate computation。
定积分的定义公式分割近似求和取极限
定积分的定义公式分割近似求和取极限定积分这玩意儿,在数学里那可是个相当重要的角色。
它的定义公式——分割近似求和取极限,听起来好像挺复杂,但咱们慢慢捋捋,其实也没那么可怕。
我记得有一次,我在课堂上讲定积分的时候,有个学生一脸迷茫地看着我,那小眼神仿佛在说:“老师,这都是啥呀?”我就跟他说:“别着急,咱们一步一步来。
”咱先说分割。
这就好比你有一块大蛋糕,你要把它切成好多小块。
比如说,一个函数的区间[a,b] ,咱把它分成 n 个小区间,这就是分割。
每个小区间的长度不一定相等,但加起来就是整个区间的长度。
然后是近似。
这就像你切完蛋糕,要估计每一小块的大小。
对于每个小区间里的函数值,咱找个简单的数来近似代替,比如说区间里某一点的函数值。
再说说求和。
把每个小区间里近似的函数值乘以小区间的长度,然后加起来,这就是求和。
最后是取极限。
当把区间分得越来越细,小区间的数量越来越多,每个小区间的长度越来越小,这个求和的结果就会越来越接近一个确定的值,这个值就是定积分的值。
比如说,你要计算从 0 到 1 区间上 x²的定积分。
咱先把这个区间分成 n 个小区间,每个小区间的长度就是 1/n 。
然后在每个小区间里,咱用区间中点的函数值来近似代替。
比如第 i 个小区间的中点是 i/n ,那这个小区间里的函数值就近似为 (i/n)²。
把每个小区间的近似值乘以小区间长度 1/n 再加起来,得到一个式子。
最后让 n 趋向于无穷大,取这个式子的极限,就能得到定积分的值 1/3 。
在实际生活中,定积分也有很多用处呢。
就像你要计算一个不规则图形的面积,或者计算一个物体在一段时间内移动的路程,都能用到定积分。
还记得有一次我装修房子,要计算一面墙的不规则形状的面积,来确定需要多少壁纸。
我就用定积分的思路,把那面墙的形状分割成好多小部分,近似计算每一部分的面积,最后求和取极限,算出了差不多准确的面积,成功买到了合适数量的壁纸。
MATLAB实验三 定积分的近似计算
实验三定积分的近似计算一、问题背景与实验目的利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法.对于定积分的近似数值计算,Matlab有专门函数可用.二、相关函数(命令)及简介1.sum(a):求数组a的和.2.format long:长格式,即屏幕显示15位有效数字.(注:由于本实验要比较近似解法和精确求解间的误差,需要更高的精度).3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数值则转化为相应的实型数值.4.quad():抛物线法求数值积分.格式:quad(fun,a,b) ,注意此处的fun是函数,并且为数值形式的,所以使用*、/、^等运算时要在其前加上小数点,即.*、./、.^等.例:Q = quad('1./(x.^3-2*x-5)',0,2);5.trapz():梯形法求数值积分.格式:trapz(x,y)其中x为带有步长的积分区间;y为数值形式的运算(相当于上面介绍的函数fun)例:计算0sin()dx xπ⎰x=0:pi/100:pi;y=sin(x);trapz(x,y)6.dblquad():抛物线法求二重数值积分.格式:dblquad(fun,xmin,xmax,ymin,ymax),fun可以用inline定义,也可以通过某个函数文件的句柄传递.例1:Q1 = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)顺便计算下面的Q2,通过计算,比较Q1 与Q2结果(或加上手工验算),找出积分变量x、y的上下限的函数代入方法.Q2 = dblquad(inline('y*sin(x)'), 0, pi, pi, 2*pi)例2:Q3 = dblquad(@integrnd, pi, 2*pi, 0, pi)这时必须存在一个函数文件integrnd.m:function z = integrnd(x, y) z = y*sin(x);7.fprintf (文件地址,格式,写入的变量):把数据写入指定文件.例:x = 0:.1:1; y = [x; exp(x)];fid = fopen('exp.txt','w'); %打开文件 fprintf(fid,'%6.2f %12.8f\n',y); %写入 fclose(fid) %关闭文件 8.syms 变量1 变量2 …:定义变量为符号. 9.sym('表达式'):将表达式定义为符号.解释:Matlab 中的符号运算事实上是借用了Maple 的软件包,所以当在Matlab 中要对符号进行运算时,必须先把要用到的变量定义为符号. 10.int(f,v,a,b):求f 关于v 积分,积分区间由a 到b .11.subs(f ,'x',a):将 a 的值赋给符号表达式 f 中的 x ,并计算出值.若简单地使用subs(f),则将f 的所有符号变量用可能的数值代入,并计算出值.三、实验内容1. 矩形法根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即1()d ()nbi i ai f x x f x ς==∆∑⎰在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.针对不同i ς的取法,计算结果会有不同,我们以 120d 1xx +⎰为例(取100=n ),(1) 左点法:对等分区间b x i n ab a x x a x n i =<<-+=<<<=ΛΛ10,在区间],[1i i x x -上取左端点,即取1-=i i x ς,12 01d ()1ni i i xf x x ς==∆≈+∑⎰0.78789399673078, 理论值 12 0d 14x x π=+⎰,此时计算的相对误差0.7878939967307840.0031784ππ-=≈(2)右点法:同(1)中划分区间,在区间],[1i i x x -上取右端点,即取i i x =ς,12 01d ()1ni i i xf x x ς==∆≈+∑⎰0.78289399673078, 理论值 12 0d 14x x π=+⎰,此时计算的相对误差 0.7828939967307840.0031884ππ-=≈(3)中点法:同(1)中划分区间,在区间1[,]i i x x -上取中点,即取12i ii x x ς-+=, 12 01d ()1ni i i xf x x ς==∆≈+∑⎰0.78540024673078, 理论值 12 0d 14x x π=+⎰,此时计算的相对误差 60.7854002467307842.653104ππ--=≈⨯如果在分割的每个小区间上采用一次或二次多项式来近似代替被积函数,那么可以期望得到比矩形法效果好得多的近似计算公式.下面介绍的梯形法和抛物线法就是这一指导思想的产物.2. 梯形法等分区间b x i n a b a x x a x n i =<<-+=<<<=ΛΛ10,nab x -=∆ 相应函数值为n y y y ,,,10Λ(n i x f y i i ,,1,0),(Λ==).曲线)(x f y =上相应的点为n P P P ,,,10Λ(n i y x P i i i ,,1,0),,(Λ==)将曲线的每一段弧i i P P 1-用过点1-i P ,i P 的弦i i P P 1-(线性函数)来代替,这使得每个],[1i i x x -上的曲边梯形成为真正的梯形,其面积为x y y ii ∆⨯+-21,n i ,,2,1Λ=. 于是各个小梯形面积之和就是曲边梯形面积的近似值,11 11()d ()22nnbi i i i ai i y y x f x x x y y --==+∆≈⨯∆=+∑∑⎰, 即11 ()d ()22bn n ay y b a f x x y y n --≈++++⎰L , 称此式为梯形公式.仍用 12 0d 1x x +⎰的近似计算为例,取100=n ,10112 0d ()122n n y y x b a y y x n --≈++++=+⎰L 0.78539399673078, 理论值 12 0d 14x x π=+⎰,此时计算的相对误差 60.7853939967307845.305104ππ--=≈⨯很显然,这个误差要比简单的矩形左点法和右点法的计算误差小得多.3. 抛物线法由梯形法求近似值,当)(x f y =为凹曲线时,它就偏小;当)(x f y =为凸曲线时,它就偏大.若每段改用与它凸性相接近的抛物线来近似时,就可减少上述缺点,这就是抛物线法.将积分区间],[b a 作n 2等分,分点依次为b x i n a b a x x a x n i =<<-+=<<<=2102ΛΛ,nab x 2-=∆, 对应函数值为n y y y 210,,,Λ(n i x f y i i 2,,1,0),(Λ==),曲线上相应点为n P P P 210,,,Λ(n i y x P i i i 2,,1,0),,(Λ==).现把区间],[20x x 上的曲线段)(x f y =用通过三点),(000y x P ,),(111y x P ,),(222y x P 的抛物线)(12x p x x y =++=γβα来近似代替,然后求函数)(1x p 从0x 到2x 的定积分:21 ()d x x p x x =⎰22 ()d x x x x x αβγ++=⎰)()(2)(30220223032x x x x x x -+-+-γβα]4)(2)()()[(62022022202002γβαγβαγβα++++++++++-=x x x x x x x x x x 由于2201x x x +=,代入上式整理后得 21 ()d x x p x x ⎰)](4)()[(612122202002γβαγβαγβα++++++++-=x x x x x x x x )4(621002y y y x x ++-=)4(6210y y y nab ++-= 同样也有422 ()d x x p x x ⎰)4(6432y y y n ab ++-=……222 ()d n n x nx p x x -⎰)4(621222n n n y y y nab ++-=-- 将这n 个积分相加即得原来所要计算的定积分的近似值:22222212 11()d ()d (4)6ii nnbx i i i i ax i i b af x x p x x y y y n---==-≈=++∑∑⎰⎰, 即021******* ()d [4()2()]6bn n n ab af x x y y y y y y y y n---≈++++++++⎰L L 这就是抛物线法公式,也称为辛卜生(Simpson )公式.仍用 12 0d 1x x +⎰的近似计算为例,取100=n ,102132124222 0d [4()2()]16n n n x b ay y y y y y y y x n ---≈+++++++++⎰L L=0.78539816339745,理论值 12 0d 14x x π=+⎰,此时计算的相对误差 160.7853981633974542.827104ππ--=≈⨯4. 直接应用Matlab 命令计算结果(1) 数值计算 120d .1xx +⎰ 方法1:int('1/(1+x^2)','x',0,1) (符号求积分)方法2:quad('1./(1+x.^2)',0,1) (抛物线法求数值积分)方法3:x=0:0.001:1; y=1./(1+x.^2);trapz(x,y) (梯形法求数值积分) (2)数值计算 212 01d d x x y y -+⎰⎰方法1:int(int('x+y^2','y',-1,1),'x',0,2) (符号求积分)方法2:dblquad(inline('x+y^2'),0,2,-1,1) (抛物线法二重数值积分)四、自己动手1. 实现实验内容中的例子,即分别采用矩形法、梯形法、抛物线法计算 120d 1xx +⎰,取258=n ,并比较三种方法的精确程度.2. 分别用梯形法与抛物线法,计算 2 1d xx⎰,取120=n .并尝试直接使用函数trapz()、quad()进行计算求解,比较结果的差异.3. 试计算定积分 0sin d xx x+∞⎰.(注意:可以运用trapz()、quad()或附录程序求解吗?为什么?)4. 将 120d 1xx +⎰的近似计算结果与Matlab 中各命令的计算结果相比较,试猜测Matlab 中的数值积分命令最可能采用了哪一种近似计算方法?并找出其他例子支持你的观点.5. 通过整个实验内容及练习,你能否作出一些理论上的小结,即针对什么类型的函数(具有某种单调特性或凹凸特性),用某种近似计算方法所得结果更接近于实际值?6. 学习fulu2sum.m 的程序设计方法,尝试用函数 sum 改写附录1和附录3的程序,避免for 循环.五、附录附录1:矩形法(左点法、右点法、中点法)(fulu1.m ) format long n=100;a=0;b=1;inum1=0;inum2=0;inum3=0; syms x fx fx=1/(1+x^2); for i=1:nxj=a+(i-1)*(b-a)/n; %左点 xi=a+i*(b-a)/n; %右点 fxj=subs(fx,'x',xj); %左点值fxi=subs(fx,'x',xi); %右点值fxij=subs(fx,'x',(xi+xj)/2); %中点值inum1=inum1+fxj*(b-a)/n;inum2=inum2+fxi*(b-a)/n;inum3=inum3+fxij*(b-a)/n;endinum1inum2inum3integrate=int(fx,0,1)integrate=double(integrate)fprintf('The relative error between inum1 and real-value is about: %d\n\n',...abs((inum1-integrate)/integrate))fprintf('The relative error between inum2 and real-value is about: %d\n\n',...abs((inum2-integrate)/integrate))fprintf('The relative error between inum3 and real-value is about: %d\n\n',...abs((inum3-integrate)/integrate))附录2:梯形法(fulu2.m)format longn=100;a=0;b=1;inum=0;syms x fxfx=1/(1+x^2);for i=1:nxj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;fxj=subs(fx,'x',xj);fxi=subs(fx,'x',xi);inum=inum+(fxj+fxi)*(b-a)/(2*n);endinumintegrate=int(fx,0,1)integrate=double(integrate)fprintf('The relative error between inum and real-value is about: %d\n\n',...abs((inum-integrate)/integrate))附录2sum:梯形法(fulu2sum.m),利用求和函数,避免for 循环format longn=100;a=0;b=1;syms x fxfx=1/(1+x^2);i=1:n;xj=a+(i-1)*(b-a)/n; %所有左点的数组xi=a+i*(b-a)/n; %所有右点的数组fxj=subs(fx,'x',xj); %所有左点值fxi=subs(fx,'x',xi); %所有右点值f=(fxi+fxj)/2*(b-a)/n; %梯形面积inum=sum(f) %加和梯形面积求解integrate=int(fx,0,1)integrate=double(integrate)fprintf('The relative error between inum and real-value is about: %d\n\n',...abs((inum-integrate)/integrate))附录3:抛物线法(fulu3.m)format longn=100;a=0;b=1;inum=0;syms x fxfx=1/(1+x^2);for i=1:nxj=a+(i-1)*(b-a)/n; %左点xi=a+i*(b-a)/n; %右点xk=(xi+xj)/2; %中点fxj=subs(fx,'x',xj);fxi=subs(fx,'x',xi);fxk=subs(fx,'x',xk);inum=inum+(fxj+4*fxk+fxi)*(b-a)/(6*n);endinumintegrate=int(fx,0,1)integrate=double(integrate)fprintf('The relative error between inum and real-value is about: %d\n\n',...abs((inum-integrate)/integrate))。
高等数学定积分的计算方法
高等数学定积分的计算方法
定积分是高等数学中的一个重要概念,它是求解某种函数在某一区间上的积分,可以用来计算曲线下某一区域的面积或体积。
计算定积分的方法有很多,其中最常用的是求和法和分段法。
求和法是指将定积分的区间分割成若干小区间,然后将每个小区间上的函数值加起来,从而求出定积分的近似值。
具体的计算方法是:首先,将定积分的区间[a,b]分割成n个小区间,即
a=x_0<x_1<x_2<…<x_n=b,其中x_i=a+i*h,h=(b-a)/n;然后,将每个小区间上的函数值加起来,即
∫_a^bf(x)dx≈h*[f(x_0)+f(x_1)+f(x_2)+…+f(x_n)],其中h=(b-
a)/n。
分段法是指将定积分的区间分割成若干段,然后分别求出每段上的积分,最后将每段上的积分加起来,从而求出定积分的近似值。
具体的计算方法是:首先,将定积分的区间[a,b]分割成
n段,即a=x_0<x_1<x_2<…<x_n=b,其中x_i=a+i*h,h=(b-
a)/n;然后,分别求出每段上的积分,即
∫_a^bf(x)dx≈∑_(i=1)^n▒f(x_i)*h,其中h=(b-a)/n;最后,将每
段上的积分加起来,即∫_a^bf(x)dx≈∑_(i=1)^n▒f(x_i)*h。
以上就是计算定积分的两种常用方法,它们都是基于求和原理的,只是求和的方式不同而已。
在实际应用中,我们可以根据实际情况选择合适的方法,以达到最优的计算效果。
定积分牛顿莱布尼茨公式
定积分牛顿莱布尼茨公式牛顿-莱布尼茨公式(也称为牛莱公式)是微积分学中的一个重要定理,它连接了定积分和原函数之间的关系。
该公式在微积分起源和发展中起到了关键的作用,它的发现极大地推动了微积分学的发展。
首先,我们需要明确定积分的定义。
定积分是求一个函数在一个区间上的“积累量”,它可以看作是无穷多个微小的面积的总和。
设函数f(x)在[a,b]上连续,它的一个原函数为F(x)。
根据牛顿-莱布尼茨公式,定积分的值可以通过求函数的原函数在两个端点的值之差来计算。
具体而言,公式可以表达为:∫[a,b] f(x)dx = F(b) - F(a)这个公式的含义是,函数f(x)在区间[a,b]上的定积分等于它的一个原函数F(x)在b和a处的取值之差。
这个公式可用于求解定积分,而无需使用极限定义来进行计算。
牛顿-莱布尼茨公式可以通过微积分基本定理来证明。
微积分基本定理表明,如果一个函数在一个区间上连续,那么它必然有一个原函数。
这个定理的证明涉及到反函数的构造和连续函数的一些性质,它超出了本文的讨论范围。
牛顿-莱布尼茨公式的证明主要涉及到导数和微分的基本概念。
设a 和b为两个实数,函数F(x)在[a,b]上连续且可微。
根据导数的定义,我们有:F'(x) = lim(h->0) [F(x+h) - F(x)]/h我们可以根据这个式子来近似计算定积分的值。
我们可以将区间[a,b]等分为n个小区间,每个小区间的宽度为h=(b-a)/n。
记第i个小区间为[x_i-1,x_i]。
我们将每个小区间上的函数值F(x_i)与F(x_i-1)相减后再乘以区间宽度h,得到一个近似的定积分值。
如果我们取n趋近于无穷大,这个近似值将趋近于定积分的真正的值。
具体而言,我们可以写出这个近似值为:Σ {i=1 to n} [F(x_i) - F(x_i-1)] * h这个近似值可以表示为区间[a,b]上的一个数列的和。
当n趋近于无穷大时,这个数列的和将趋近于定积分的真正值。
几种定积分的数值计算方法
几种定积分的数值计算方法一、梯形法则(Trapezoidal Rule):梯形法则是一种常见的确定积分的数值计算方法。
它的基本思想是通过将函数曲线上的曲线段看作是一系列梯形,然后计算这些梯形的面积之和来近似表示定积分的值。
具体来说,我们将定积分区间[a,b]均匀地划分为n个小区间,每个小区间的宽度为h=(b-a)/n,然后计算每个小区间内的梯形面积,再将这些面积相加即可得到定积分的近似值。
梯形法则的公式如下:∫(a to b) f(x) dx ≈ h/2 * (f(a) + 2f(a+h) + 2f(a+2h) + ... + 2f(a+(n-1)h) + f(b))梯形法则的优点是简单易懂,容易实现,并且对于一般的函数都能达到较好的近似效果。
然而,它的缺点是精度较低,需要较大的划分数n才能得到较准确的结果。
二、辛普森法则(Simpson's Rule):辛普森法则是一种比梯形法则更高级的确定积分方法,它通过将函数曲线上的曲线段看作是由一系列抛物线组成的,然后计算这些抛物线的面积之和来近似表示定积分的值。
与梯形法则类似,我们将定积分区间[a,b]均匀地划分为n个小区间,每个小区间的宽度为h=(b-a)/n,然后计算每两个相邻小区间内的抛物线面积,再将这些面积相加即可得到定积分的近似值。
辛普森法则的公式如下:∫(a to b) f(x) dx ≈ h/3 * (f(a) + 4f(a+h) + 2f(a+2h) +4f(a+3h) + ... + 2f(a+(n-2)h) + 4f(a+(n-1)h) + f(b))辛普森法则相较于梯形法则具有更高的精度,尤其对于二次或更低次的多项式函数来说,可以得到非常准确的结果。
但是,辛普森法则在处理高次多项式或非多项式函数时可能会出现误差较大的情况。
三、高斯求积法(Gaussian Quadrature):高斯求积法是一种基于插值多项式的数值积分方法。
第32讲 定积分的分部积分法与近似计算
1 2
1
又 f x dx e C ,所以 f x e
x2
' 2 xe
x2
x2
,
再令 u1 x, v1 ' f ' x
2 0
2
I 1 2 sin xdx 1
0
续 当 n 2k 1 时,
n 1 n 3 4 2 In I1 n n2 5 3 n 1 n 3 4 2 n n2 5 3
当n 2k 时, n 1 n 3 3 1 In I0 n n2 4 2
n 1 n 3 3 1 n n2 4 2 2
令x
2
t 可得第二式显然也成立。
e 例4 设 f x 的一个原函数是
2
x2
,求 x 2 f " x dx
0
1
解 令 u x , v' f " x , 则 u ' 2 x, v f ' x
其误差分别为:
b a 2
2n
y ' ,
b a 3
12n 2
y" ,
b a 5
180n 4
y 4
a b
小结:
全面理解分部积分公式
熟练使用分部积分公式求积分
了解定积分的近似计算方法
作业:第P306Fra bibliotek习题5-5
4e 2e 2e
定积分的近似计算方法
定积分的近似计算方法定积分是微积分中的重要概念,它代表了曲线与坐标轴之间的有限面积。
在实际问题中,有时候我们需要计算一些函数在一定范围内的定积分,以获得其中一种物理量或求解其中一种问题的解析解。
然而,有些函数的原函数较复杂甚至难以找到,这时候我们就需要使用定积分的近似计算方法。
下面将介绍几种常用的定积分近似计算方法:1.矩形法:矩形法是最简单的一种近似计算方法。
它的思想是将积分区间等分成若干个小区间,然后在每个小区间上选择一个代表点,通过函数在这些代表点处的函数值与小区间长度的乘积来近似计算定积分。
具体计算公式为:∫[a,b]f(x)dx ≈ Δx * (f(x₁) + f(x₂) + ... + f(xₙ))其中,Δx=(b-a)/n,n为小区间个数,x₁、x₂等为代表点。
当n越大时,近似结果越接近真实结果。
2.梯形法:梯形法是将积分区间分成若干个小区间,然后在每个小区间上构造一个梯形,通过计算梯形的面积来近似计算定积分。
具体计算公式为:∫[a,b]f(x)dx ≈ Δx * (f(x₁) + f(x₂))/2 + Δx * (f(x₂) +f(x₃))/2 + ... + Δx * (f(xₙ-1) + f(xₙ))/2其中,Δx=(b-a)/n,n为小区间个数,x₁、x₂等为小区间的端点。
3.辛普森法:辛普森法是一种比矩形法和梯形法更精确的近似计算方法。
它的思想是将积分区间分成若干个小区间,然后在每个小区间上构造一个二次多项式,通过计算这些二次多项式的面积来近似计算定积分。
具体计算公式为:∫[a,b]f(x)dx ≈ Δx * (f(x₀)+4f(x₁)+f(x₂))/3 + Δx *(f(x₂)+4f(x₃)+f(x₄))/3 + ... + Δx * (f(xₙ-2)+4f(xₙ-1)+f(xₙ))/3其中,Δx=(b-a)/n,n为小区间个数,x₀、x₁、x₂等为小区间的端点。
4.蒙特卡洛法:蒙特卡洛法是通过随机抽取点的方法来近似计算定积分。
定积分近似计算方法
定积分的近似计算方法摘要 本文主要讨论了一元函数常见的数值积分方法,例如插值型求积公式、龙贝格求积公式、高斯求积公式等近似计算方法,在用这些方法计算定积分时,会产生一些误差,为了减少误差, 可以利用复化求积公式、复化高斯公式等.本文围绕这些方法,系统介绍它们的计算公式以及截断误差,并用例题分析它们产生误差的大小、计算量等.关键词 插值型积分 龙贝格积分 高斯积分 误差分析 近似计算1引言在计算定积分的值()b aI f x dx =⎰时,常常根据微积分学基本定理求出)(x f 的一个原函数)(x F ,再用牛顿-莱布尼茨公式求的积分,()()()baI f x dx F b F a ==-⎰.但在实际应用中,这种方法只限于解决一小部分定积分的求值问题.当函数没有具体表达式,只是一些实验测得数据形成的表格或图形或者是()F x 无法用初等函数表示,例如,2bx ae dx ⎰,2sin ba x dx ⎰等等,这就需要我们用一些近似方法求的积分值.与数值积分一样,把积分区间细分,在每个小区间上,找到简单函数)(x ϕ来近似代替()f x ,且()bax dx ϕ⎰的值容易求的.这样就把计算复杂的()baf x dx ⎰转化为求简单的积分值()bax dx ϕ⎰.因此,定积分的近似计算实质上是就是被积函数的近似计算问题.2常见数值方法 2.1牛顿-科茨数值方法牛顿-科茨求积公式是求积节点等距离分布的插值型求积公式.利用插值多项式来构造数值积分公式是最常用、最基本的方法,具体做法是:给定区间[,]a b 上一组节点01...n a x x x b =<<<=,以及节点处函数()(0,1,2,i f x i n =,作()f x 的n 次拉格朗日多项式()()()nn i i i x f x l x ϕ==∑,其中 011011()()()()()()()()()i i n i i i i i i i n x x L x x x x L x x l x x x L x x x x L x x -+-+----=----,将插值公式(1)1()()()()(1)!n n n f f x x x n ξϕω++=++. 其中 1012()()()()()n n x xx x xx x L x x ω+=----,[,]a b ξ∈,依赖于变量x , 上式积分得(1)1()()()()(1)!n bb bn n aa af f x dx x dx x dx n ξϕω++=++⎰⎰⎰(1)(1)0()()()()(1)!n nb biiin aai f f x l x dx x dx n ξω++==++∑⎰⎰(1)(1)0()()()()(1)!n nb bi i n aai f f x b l x dx x dxn ξω++==++∑⎰⎰若记 (),(0,1,2,bi ia A l x dx i ==⎰….. )n (1)(1)1()[]()(1)!n bn af R f x dxn ξω++=+⎰, (2)则有()()[]nbi i ai f x dx A f x R f ==+∑⎰(3)称式(3)为插值求型公式,其中(0,1,2,i A i =…. )n 与()f x 无关,叫求积系数, i x 为求积节点,[]R f 为求积公式余项,其中求积系数由(1)决定.2.1.1梯形求积公式1梯形公式当插值节点01,x x 分别选取区间端点,a b 时,由式(3)分别求出求积系数10012bb aa x x xb b aA dx dx x x a b ---===--⎰⎰,01102bb aa x x x ab a A dx dx x x b a ---===--⎰⎰.从而的求积公式()[()()]2bab af x dx f a f b -≈+⎰. (4) 称求积公式(4)为梯形求积公式,简称梯形公式.2梯形公式截断误差: 3*()[](),12b a R f f ξ-''=- *[,]a b ξ∈. (5) 3梯形求积公式的代数精度:1 当()1f x =时,式(5)中 1(1)2bab adx b a x b a -=-=+=-⎰. 精确成立.2.1.2 辛普森求积公式1辛普森求积公式当选取节点为012,,2a bx a x x b +===时,由式(1)求下列求积系数 1200102()()()()2()()6()()2b b a a a b x x b x x x x b a A dx dx a b x x x x a a b +-----===+----⎰⎰,0211002()()()()2()()()3()()22bb aa x x x x x a xb b a A dx dx a b a b x x x x a b -----===++----⎰⎰.0122021()()()()2()()6()()22b b a a a bx a x x x x x b a A dx dx a b a b x x x x a b +-----===++----⎰⎰ .从而求积公式()[()4()()]62bab a a bf x dx f a f f b -+≈++⎰. (6)称式(6)为抛物线积分公式或辛普森积分公式.2抛物线求积公式误差估计定理1.若()f x 在[,]a b 上有四阶连续导数,则抛物线公式(6)的余项为:5(4)**()[](),[,]2880b a R f f a b ξξ--=∈. (7) 3抛物线公式的代数精度为3.易验证,当23()1,,,f x x x x =时,式(6)精确成立,而当4()f x x =时,式(6)不能精确成立.2.1.3 牛顿-科茨公式1牛顿-科茨公式在等距离节点i x a ih =+下,其中(0,1,2b ah i n-==…. )n .作为变量替换x a th =+,那么由求积公式(1),得系数:10(1)(1)(1)()!(1)(1)!ni n t t t i t i t n A h dt i n ---+---==--⎰10(1)(1)...(1)(1)...()(0,1,2,...)!(1)!n nb a t t t i t i t n dt i n n i n -----+---=-⎰ (8)则 ()()n i iA b a C =- (9)于是差值求积公式为:()0()()()[]nbn i i ai f x dx b a C f x R f ==-+∑⎰(10)称公式(10)为牛顿-科茨求积公式,其中()n iC 称为科茨系数.显然,科茨系数与被积函数()f x 及积分区间[,]a b 无关,它指依赖于n ,且为多项式积分.因此,只要给出n ,就能看出i A ,并写出相应地牛顿-科茨公式.2牛顿-科茨公式的截断误差与代数精度.当1n =与2n =情况分析牛顿-科茨公式的截断误差为(1)()[]()()()(1)!n b b bn aaaf R f f x dx x dx x dxn ξϕω+=-=+⎰⎰⎰牛顿-科茨公式的截断误差还可以写成(2)*1()[]()((2)!n bn a f R f x dx n n ξω++=+⎰为偶数)(1)*1()[]()(1)!n bn af R f x dx n ξω++=+⎰ (n 为奇数) (11) 其中*[,]a b ξ∈,且不依赖于x ,101()()()...()n n x x x x x x x ω+=---,对()f x 为任何并不超过n 次多项式,均有(1)()0n fx +≡,因而[]0R f ≡,即0()()nbi i ai f x dx A f x ==∑⎰精确成立,也就是说,牛顿-科茨公式的代数精度至少为n ,牛顿-科茨公式在n 为偶数时,至少具有1n +次代数精度,在n 为奇数情况时,至少具有n 次代数精度.2.1.4复化梯形求积公式将区间[,]a b 等分,节点为i x a ih =+ (步长b ah n-=),0,1,2...,i n =)在每个小区间1[,]i i x x -上采用梯形公式(4)得11111()()[(()()]2ii nnbx i i i i ax i i x x f x dx f x dx f x f x ---==-=≈+=∑∑⎰⎰11[()()]2ni i i hf x f x +=+=∑11[()2()()]2n i n i hf a f x f b T -=++=∑ (12)称式(12)为复化梯形公式. 复化梯形公式余项为()2()()()12i n b a R f h f η-''=-(13) 2.1.5复化辛普森求积公式在每个小区间],[1+i i x x 上,辛普森公式(6)得11102()[()4()()]6n bi i ai i hf x dx f x f x f x -++==++∑⎰(14)111012[()4()2((6)]6n n i i i i hf a f x f x f --+===+++∑∑记 )]()(2)(4)([6111021b f x f x f a f hS n i i n i i n +++=∑∑-=-=+ (15)式中,21+i x为],[1+i i x x 的中点,即h x x i i 2121+=+.式(15)称为复化辛普森公式,其余项为∑-=-=-=10)4(4)()2(180)()(n i i n n f h h S f I f R η, 1(,).i i i x x η+∈ 故 ),(),()2(180)(R )4(4b a f h a b f n ∈--=ηη (16) 为复化辛普森的截断误差. 2.1.6复化科茨求积公式将区间[,]a b n 等分, 4n m =,m 为正整数,在每个子区间444[,]k k x x -上用科茨求积公式得到复化求积公式:412()[7()7()32()45mbk ak hf x dx f a f b f x -≈++∑⎰14241411112()32()14()mmm k k k N k k k f xf x f x C ---===+++=∑∑∑ (17)其中 4b a b ah n m--==, k x a kh =+ 其截断误差为6(6)2()[,](),()945n b a R f C h f a b ηη-=-<. 2.1.7 变步长复化求积方法复化求积公式虽然计算简单,也达到了提高精度的目的,但为了满足精度要求必须顾及误差,利用误差公式往往很困难,因为误差表达式中含有未知函数的导数,而估计各阶导数的最大值不太容易.我们可以采取把积分的区间[,]a b 细分的办法,在计算积分时将步长逐步折半,利用前后两次结果进行误差估计,如此继续,直到相邻两次结果相差不大,取最小的步长算出的结果为积分值,这种方法称为变步长积分法.以复化梯形公式为例,把区间[,]a b 分成n 等分,设复化梯形公式的近似值为n T ,原积分值为I ,由复化梯形公式误差公式(14)知:2"11()()()n b a b a I T f a b N N ηη--=-<<再把区间[,]a b 分成2n 等分,得近似值2n T ,则2222()()()122k b a b a I T f a b nηη--''=-<< 假定()f x ''在[,]a b 上变化不大,既有12()()f f ηη''''≈. 由上式得 .24kkI T I T -≈-于是 222211()()341n n n n n n I T T T T T T ≈+-=+-- (18) 式(18)表明若用2n T 作为I 的近似值,其截断误差约为2()3n n T T - (19)2.2 龙贝格求积公式龙贝格积分法的基本思想是采用复化梯形求积方法不断折半步长过程中,在积分结果中加入时候误差估计值进行补偿,使积分计算的收敛性加速,就可以加工出,,,...n n n S C R 精度较高的积分结果.由式(19), 2n T 的误差大致为23n nT T -,因此,可用这个误差值作为2n T 的一种补偿,加到2n T 上,则可得到积分准确值I ,比2n T 的更好近似值~T .222141()333n n n n nT T T T T T =+-=-2221(2)21n n T T =-- (20)式(20)左端1n =时 记122121141()333S T T T T T =+-=- 112()()332a b T b a f +=+- [()4()()]62b a a b f a f f b -+=++恰好为[,]a b 上应用辛普生公式(16)的结果.在每个小区间应用辛普生公式:11[()2()()]2n n k k hT f a f x f b -==++∑121()112[()2()()2()]4n n n k k k k hT f a f x f b f x --===+++∑∑代入式(20)的左端得11111[()2()()2()32n nk k k k h f a f x f b f x -==+++--∑∑ 11[()2()()]2n k k h f a f x f b -++∑11111[()4()2()()]62n n k k k k f a f x f x f b -===+-++∑∑nS =从而复化辛普森公式与复化梯形公式公式有以下关系式2441n nn T T S -=- (21)类似也可以推证,在辛普森序列基础上,利用以下关系式22242161151541n n n n n S S C S S -=-=- (22)可以造出收敛速度更快的科茨序列12,...,...n C C C 将此推行下去,在科茨序列基础上,通过243431n nn C C R -=- (23)构造出收敛速度比科茨序列更快的龙贝格序列12,,......n R R R .以上这种通过逐步构造龙贝格序列的积分近似值法就称为龙贝格积分法.2.3高斯求积公式由定理()()()baf x F b F a =-⎰知,插值型求积公式的代数精度与求积节点的个数有关,具有1n +个节点的插值型求积公式至少具有n 次代数精度.不仅如此,代数精度与节点的选取有关,在构造牛顿-科茨求积公式时,为了简化处理过程,限定用等分节点作为求积节点,这样做,虽然公式确实得到简化,但同时也限制了公式的代数精度. 设积分,1,1=-=b a 本段讨论如下求积公式11()()ni i i f x A f x -==∑⎰(24)对任意积分区间[,]a b ,通过变 22ba t ab x ++-= 可以转换到区间]1,1[-上,这时11()()222bab a b a a bf x dx f t dt ---+=+⎰⎰ 此时,求积公式写为0()()222n bii ai b a a b b af x dx A f t =-+-=+∑⎰若一组节点]1,1[.....,10-∈n x x x 使插值型求积公式(24)具有21n +次代数精度,则称此组节点为高斯点,并称相应求积公式(24)为高斯求积公式.2.3.1 高斯求积公式的余项(2)2()[]()()()(22)!n nbb k k aa k f R f f x dx A f x x dx n ηω+==-=+∑⎰⎰ 其中 01()()()...(),[,]n x x x x x x x ab ωη=---∈,且不依赖于x .2.3.2 复化高斯求积公式复化高斯求积公式的基本思想是:将积分区间[,]a b 分成n个等长小区间1[,](1,...)i i t t i m -=,然后在低阶(2n =)高斯求积公式算出近似值,最后将他们相加的积分()baf t dt ⎰的近似值m G ,即11111111()()[]222ii mmbt i i i i i i at i i t t t t t t f t dt f t dt dt -----==-+-==+∑∑⎰⎰⎰1111[()]222m i h ha i h x dx-==+-+∑⎰101[()]222m n j j mi j h hA f a i h x G ==≈+-+≈∑∑ (25)其中mab h -=,j A 与(0,1,2,...,)j t j n =可由书中表中查出. 3 应用3.1插值型积分的应用例1 用牛顿-科茨公式(1,2,4n =)计算积分12211I x =+⎰. 解 1n =时2210112[]0.4512101()2I -≈+=++2n =时22211112[4]0.463725116101()1()42I -≈++=+++4n =时2222111112[7321232]0.46363311390101()1()1()848I =++++≈++++例2 利用复化梯形求积公式计算积分 12211I dx x =+⎰解 设211)(xx f +=,分点个数为n =1,2,4,5时,求出相应积分n T , 111[(()())],21,2(),.n n i i i i i T f a f b f h b a h n n f x f x a ih ih -=⎧=++⎪⎪-⎪==⎨⎪=⎪⎪=+=⎩∑列表如下:n =1的计算结果见表1-1所列 n h0x 1x 0f1f1T10.50.00.51.0 0.8 0.45n =2的表格如下 n hx1x2xf1f2f2T20.250.00 0.25 0.50 1.00 0.941765 0.80 0.460294n =4时计算结果如下表 n h 0x1x2x3x4x40.1250.00 0.125 0.25 0.375 0.50f1f2f3f4f4T1.00 0.9846154 0.9411765 0.876712 0.80 0.462813n = 5时计算结果如下 n hx1x2x3x4x5x50.10.0 0.1 0.2 0.3 0.40.5f1f2f3f4f5f5T1.0 0.990099 0.9615385 0.91743 0.862069 0.80.463114例3 利用复化求积公式120x e dx ⎰,问积分区间为多少等分才能得证有5位有效数字?解 由式(14)知322()[],()()1212n b a b a R f h f n f n n--''''=-=- 有1(),(),2x x f x e f x e b a ''==-=,当]21,0[∈x 时,在12|()|f x e ''≤,所以122|[]|96n eR f n≤ 由于120x e dx ⎰的准确值具有一位整数,所以要使近似值具有5位有效数字,n 必须满足4242211048,102196⨯≥⨯≤-e n n e 或 取对数有 19=n .即将区间]21,0[19等分可满足给定的精度要求.例4 利用复化抛物线求积公式计算 120211I dx x =+⎰. 解 设11)(2+=x x f ,取m =1,2, 3时,公式()⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧++=+=====-=+++=+---=-=+∑∑.)12(,2),(),(),(,,242[31221212221111,1222h i a x ih a x x f f x f f b f f a f f m a b n f f f f h S i i i i i i b a m i m i i b a m当m =1,2,3时结果如下表所示 当m =1时m h(0.0)f )25.0(f )5.0(f2S1 0.25 1.0 0.9411765 0.80 0.463725当m =2时mh(0.0)f(0.125)f (0.025)f (0.35)f )5.0(f4S20.125 1.0 0.9846154 0.9411765 0.8767123 0.80 0.463653当m =3时mh(0.0)f(0.08333)f (0.16667)f (0.35)f(0.33333)f (0.14166667)f )5.0(f4S30.83331.00.99310340.9729730.9411760.90.852070.80.4636例5 用复化梯形公式,辛普森公式和科茨公式计算积分10sin xdx x ⎰的近似值.解按精度要求确定]1,0[分多少等分,即确定步长,要使6441021)1(28801|],[|-⨯≤≤M m S f R n ,只需.4642880102M m ⨯≥令10sin ()cos xf x txdt x==⎰,则1()0sin ()()(cos )k kk k k d xd fx tx dt dx x dx==⎰ 1cos().2k t tx kdt π=+⎰dt ktx t x f k k |)2cos(|max )(|max 10)(π+≤⎰11.1k t d t t≤=+⎰)10(≤≤x (4)1max |()| 5.f x ≤所以只要,9.13831288010264=⨯⨯≥-m 取m =4即可, 当4n =时,在每个子区间上用式(25),或(14),或(17),结果.9460829.0,9460833.0,9456911.0888===C S T3.2 龙贝格积分公式应用例6 用龙贝格算法计算积分1241I dx x=+⎰的近似值,要求误差小于510-. 解 .3,0,14)(2==+=b a x x f 步骤如下:2)1(,4)0()1(==f f 得.3)]1()0([211=+=f f T )2(计算,1.3)]21([21,516)21(12=+==f T T f 由此得301333334121=-=T T S . (3)算出),(43),41(f f 从而,3013118)]43()41([412124=++=f f T T,14157.334242=-=T T S .30142121516121=-=S S C(4)计算),87(),85(),83(),81(f f f f 从而得到:13899.3)]87()85()83()81([812148=++++=f f f f T T ,,14159.334482=-=T T S ,14059.31516242=-=S S C.1458.36364121=-=C C R (5)再计算),1615(),1613(),1611(),169(),167(),165(),163(),161(f f f f f f f f 从而得到: 14094.316=T30141598=S ,,14159.3,14159.324==R C 51210||-≤-R R , 所以12043.14159.1dx x ≈+⎰3.3高斯求积公式的应用例7 用两点复化高斯求积公式计算10,x I e dx =⎰要求允许误差.106-=ε解 在本算法中取21=+n 时,,110==A A 其中;,)(mab h e x f x-== =++--=∑=)22(2201j jj b a x a b f A a b G.87189637800.1][21)32121()32121(=++-eem =2时, h =21, ]4121)21([4120202j i j j x i f A G +⨯-=∑∑==.57182571650.1)(41341333413341333413=+++=++--eeee m =3时, h =31. .37182769352.1]631)21([6130203=+⨯-=∑∑==j i j j x i f A G.101027.71||||56323--<⨯≈+-G G G3.4 几种方法的比较分析例8 计算积分211ln 2dx x =⎰,精确到0.001.(1)利用矩形公式计算, 因为对于x x f 1)(=,有320()2f x x''<=<(如果1<x <2),所以按照公式0)2(S =+-dx ba xb a . 0<n R <2112n . 如果取n =10,则我们公式的余项的余数得31010.84101200R -<<⨯,我们还必须加进由于在计算函数值实行四舍五入所产生的误差的界限相差于0.16⨯310-,为了这个目的只要计算1x的值到四位小数精确到0.00005就够了.我们有1232527292132152172192 1.051.151.251.351.551.651.751.851.95x x x x x x x x x =========5128.05405.05714.06061.06897.07407.08.08696.09524.02192172152132927252321=========y y y y y y y y y和6.928469284.0109284.6= (2) 按照梯形公式作同样的计算,在这种情况下,作公式 210,||6n n R R n<<在这儿也试一试取n =10,虽然此时仅可以证3107.16001||-⨯<<n R ,纵坐标是9.18.17.16.15.14.13.12.11.1987654321=========x x x x x x x x x 5263.05556.05882.06250.06667.07143.07692.08333.09091.0987654321=========y y y y y y y y y和1877.669377.01877.621500101=+)( (3) 用辛普森公式做同样的计算作公式 .0))(()2(180)()4(45<≤≤⨯--=n n R b a f n a b R ξξ 并且n =5时有55104.1||-⨯<R .实行计算到五位数字,精确到0.0000058.16.14.12.14321====x x x x 45636.555556.062500.071429.083333.04321和====y y y y 9.17.15.13.11.12927252321=====x x x x x83820.1352632.058824.066667.076923.090909.029********和=====y y y y y.20.150==x x 50000.150000.060000.150和==y y6931525.083820.345636.550000.1301=++)(. 由此可见,用辛普森公式计算得到的值误差最小,计算量相对一般;而用矩形公式计算得到的值误差较大,计算量也比较大;用梯形公式计算的值误差比用矩形公式得到的值要误差小,计算量也是如此.所以我们计算定积分时用辛普森公式往往得到的值误差小,而对没有要求误差大小的,则可以选择辛普森或者是梯形公式,因为这两种方法计算量相对较小.结 束 语本文只讨论了一些一维数值积分方法及其它们的应用,误差分析等有关内容.其中最常用的方法是插值型积分以及复化方法、龙贝格积分方法和高斯积分方法,并讨论了相关求积方法的代数精度和误差分析,并给出了一些例题,分析各种方法的近似值,得出误差分析最小的近似方法.由于篇幅有限,对于高维数值积分方法本文便不再讨论.参考文献[1] 华东师范大学数学系,数学分析(第一版)[M],北京:高等教育出版社,2001. [2] 李庆阳,关治,白峰杉,数值计算原理(第二版)[M],北京: 清华大学出版社, 2008. [3] 肖筱南,现代数值计算方法(第一版)[M],北京: 北京大学出版社, 1999.[4] 菲赫金格尔茨,微积分学教程(第三版)[M],北京: 高等教育出版社, 2005. [5] 裴礼文,数学分析中的典型问题与方法(第一版)[M] ,北京: 北京大学出版社,2004. [6] 李桂成,计算方法(第三版)[M],北京: 高等教育出版社,2010.[7] Yin Y uezhu ,Yang Zhonglian.Calculating Skillfully the Curve Integral and Surface Integral Type 2 bySymmetry, SCIENCE & TECHNOLOGY INFORMATION ,2008(30)The Approximate Numerical Method of the Definite IntegralAbstract This paper mainly discusses common numerical methods of unary function, such as approximate calculation method of interpolation integral, Lebesgue integral and Gauss integration. With these methods in calculating the integral, it will produce some error. In order to reduce the error, we can use after the formula for product and after the Gauss formula. This paper focus on these methods introducing formula of introduction and truncation errors .In addition they can provide examples to analysis size of the error and computation.Keywords interpolation integral Lebesgue integral Gauss integral error analysis approximate computation。
Matlab数值实验定积分的近似计算教程
Matlab数值实验定积分的近似计算教程一、问题背景与实验目的二、相关函数(命令)及简介三、实验内容1.矩形法2.梯形法3.抛物线法4.直接应用Matlab命令计算结果四、自己动手一、问题背景与实验目的利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法.对于定积分的近似数值计算,Matlab有专门函数可用.二、相关函数(命令)及简介1.sum(a):求数组a的和.2.format long:长格式,即屏幕显示15位有效数字.(注:由于本实验要比较近似解法和精确求解间的误差,需要更高的精度).3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数值则转化为相应的实型数值.4.quad():抛物线法求数值积分.格式: quad(fun,a,b) ,注意此处的fun是函数,并且为数值形式的,所以使用*、/、^等运算时要在其前加上小数点,即 .*、./、.^等.例:Q = quad('1./(x.^3-2*x-5)',0,2);5.trapz():梯形法求数值积分.格式:trapz(x,y)其中x为带有步长的积分区间;y为数值形式的运算(相当于上面介绍的函数fun)例:计算x=0:pi/100:pi;y=sin(x);trapz(x,y)6.dblquad():抛物线法求二重数值积分.格式:dblquad(fun,xmin,xmax,ymin,ymax),fun可以用inline 定义,也可以通过某个函数文件的句柄传递.例1:Q1 = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)顺便计算下面的Q2,通过计算,比较Q1 与Q2结果(或加上手工验算),找出积分变量x、y的上下限的函数代入方法.Q2 = dblquad(inline('y*sin(x)'), 0, pi, pi, 2*pi) 例2:Q3 = dblquad(@integrnd, pi, 2*pi, 0, pi)这时必须存在一个函数文件integrnd.m:function z = integrnd(x, y)z = y*sin(x);7.fprintf(文件地址,格式,写入的变量):把数据写入指定文件.例:x = 0:.1:1;y = [x; exp(x)];fid = fopen('exp.txt','w'); %打开文件fprintf(fid,'%6.2f %12.8f\n',y); %写入fclose(fid) %关闭文件8.syms 变量1 变量2 …:定义变量为符号.9.sym('表达式'):将表达式定义为符号.解释:Matlab中的符号运算事实上是借用了Maple的软件包,所以当在Matlab中要对符号进行运算时,必须先把要用到的变量定义为符号.10.int(f,v,a,b):求f关于v积分,积分区间由a到b.11.subs(f,'x',a):将 a 的值赋给符号表达式 f 中的 x,并计算出值.若简单地使用subs(f),则将f的所有符号变量用可能的数值代入,并计算出值.三、实验内容1.矩形法根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.针对不同的取法,计算结果会有不同,我们以为例(取),(1)左点法:对等分区间,在区间上取左端点,即取,0.78789399673078,理论值,此时计算的相对误差(2)右点法:同(1)中划分区间,在区间上取右端点,即取,0.78289399673078,理论值,此时计算的相对误差(3)中点法:同(1)中划分区间,在区间上取中点,即取,0.78540024673078,理论值,此时计算的相对误差如果在分割的每个小区间上采用一次或二次多项式来近似代替被积函数,那么可以期望得到比矩形法效果好得多的近似计算公式.下面介绍的梯形法和抛物线法就是这一指导思想的产物.2.梯形法等分区间,相应函数值为().曲线上相应的点为()将曲线的每一段弧用过点,的弦(线性函数)来代替,这使得每个上的曲边梯形成为真正的梯形,其面积为,.于是各个小梯形面积之和就是曲边梯形面积的近似值,,即,称此式为梯形公式.仍用的近似计算为例,取,0.78539399673078,理论值,此时计算的相对误差很显然,这个误差要比简单的矩形左点法和右点法的计算误差小得多.3.抛物线法由梯形法求近似值,当为凹曲线时,它就偏小;当为凸曲线时,它就偏大.若每段改用与它凸性相接近的抛物线来近似时,就可减少上述缺点,这就是抛物线法.将积分区间作等分,分点依次为,,对应函数值为(),曲线上相应点为().现把区间上的曲线段用通过三点,,的抛物线来近似代替,然后求函数从到的定积分:由于,代入上式整理后得同样也有……将这个积分相加即得原来所要计算的定积分的近似值:,即这就是抛物线法公式,也称为辛卜生(Simpson)公式.仍用的近似计算为例,取,=0.78539816339745,理论值,此时计算的相对误差4. 直接应用Matlab命令计算结果(1)数值计算方法1:int('1/(1+x^2)','x',0,1) (符号求积分)方法2:quad('1./(1+x.^2)',0,1) (抛物线法求数值积分)方法3:x=0:0.001:1;y=1./(1+x.^2);trapz(x,y) (梯形法求数值积分)(2)数值计算方法1:int(int('x+y^2','y',-1,1),'x',0,2) (符号求积分)方法2:dblquad(inline('x+y^2'),0,2,-1,1) (抛物线法二重数值积分)四、自己动手1.实现实验内容中的例子,即分别采用矩形法、梯形法、抛物线法计算,取,并比较三种方法的精确程度.2.分别用梯形法与抛物线法,计算,取.并尝试直接使用函数trapz()、quad()进行计算求解,比较结果的差异.3.试计算定积分.(注意:可以运用trapz()、quad()或附录程序求解吗?为什么?)4.将的近似计算结果与Matlab中各命令的计算结果相比较,试猜测Matlab中的数值积分命令最可能采用了哪一种近似计算方法?并找出其他例子支持你的观点.5.通过整个实验内容及练习,你能否作出一些理论上的小结,即针对什么类型的函数(具有某种单调特性或凹凸特性),用某种近似计算方法所得结果更接近于实际值?6.学习fulu2sum.m的程序设计方法,尝试用函数 sum 改写附录1和附录3的程序,避免for 循环.。
几种定积分的数值计算方法
几种定积分的数值计算方法数值计算定积分是计算定积分的一种近似方法,适用于无法通过代数方法求得精确解的定积分。
本文将介绍几种常见的数值计算定积分的方法。
1.矩形法(矩形逼近法):矩形法是最简单的数值计算定积分方法之一、它将定积分区间划分为若干个小区间,然后在每个小区间上取一个样本点,将每个小区间上的函数值乘以小区间的宽度,得到小矩形的面积,最后将这些小矩形的面积相加即可得到定积分的近似值。
矩形法有两种主要的实现方式:左矩形法和右矩形法。
左矩形法使用每个小区间的左端点作为样本点,右矩形法则使用右端点。
2.梯形法(梯形逼近法):梯形法是另一种常见的数值计算定积分方法。
它将定积分区间划分为若干个小区间,然后在每个小区间上取两个样本点,分别作为小区间的端点。
接下来,计算每个小区间上的函数值,然后将每个小区间上的函数值与两个端点连线所构成的梯形的面积相加,得到所有梯形的面积之和,最后得到近似的定积分值。
3.辛普森法:辛普森法是一种更为精确的数值计算定积分方法。
它将定积分区间分为若干个小区间,然后用二次多项式逼近每个小区间上的函数曲线。
在每个小区间上,辛普森法使用三个样本点,将函数曲线近似为一个二次多项式。
然后,对于每个小区间,计算该二次多项式所对应的曲线下梯形区域的面积,并将所有小区间的面积相加,得到近似的定积分值。
4. 龙贝格法(Romberg integration):龙贝格法是一种迭代的数值计算定积分方法,通过进行多次计算,逐步提高近似的精确度。
龙贝格法首先使用梯形法或者辛普森法计算一个初始近似值,然后通过迭代的方式进行优化。
在每次迭代中,龙贝格法先将区间划分成更多的子区间,并在每个子区间上进行梯形法或者辛普森法的计算。
然后,利用这些计算结果进行Richardson外推,从而得到更精确的定积分近似值。
通过多次迭代,龙贝格法可以逐步提高逼近的精确度。
上述介绍的四种数值计算定积分的方法都有各自的优势和适用范围。
辛普森法则求积分
辛普森法则求积分
辛普森法则是一种数值积分方法,用于近似计算函数的定积分。
这种方法将定积分区间分成若干个等宽子区间,并在每个子区间内用一个二次函数逼近被积函数。
然后通过对这些二次函数进行积分,得到整个定积分的近似值。
具体而言,设被积函数为$f(x)$,积分区间为$[a,b]$,将积分区间等距地分成$2n$个子区间,每个子区间的长度为$h=\frac{b-a}{2n}$。
则辛普森法则的近似公式为:
$$
\int_a^bf(x)dx\approx\frac{h}{3}\left[f(a)+2\sum_{i=1}^{n-1}f(a+2ih)+4\s um_{i=1}^nf(a+(2i-1)h)+f(b)\right]
$$
其中$f(a)$和$f(b)$是被积函数在积分区间端点处的函数值,$f(a+2ih)$和$f(a+(2i-1)h)$是偶数项和奇数项的子区间中心点处的函数值。
这个公式可以通过简单的代数运算和积分计算得到,它的精度随着子区间数的增加而增加,当子区间数增加至一定程度时,可以得到较高的精度。
定积分的近似计算 矩形法 教学PPT课件
1 4 0 1 x2
dx
1 10
(
y0
y1
y9 )
3.2400,
1 4 d x 1 ( y y y ) 3.0400.
0 1 x2
10 1 2
10
梯形法
b a
f
(x)d
x
b
a n
(y0
y 1
y) n1
b
n
a( y1
y2
y) n
.
y
y f (x)
Oa
bx
b a
f
(x) d
x
b
a n
利用矩形法( n 10 )计算
14 0 1 x2
d
x.
解 记 x i , y 4 (i 0,1, 2,,10) ,
i 10
i 1 xi2
xi
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
yi 4.0000 3.9604 3.8462 3.6697 3.4483 3.2 2.9412 2.6846 2.4390 2.2099 2.0000
2
n
i xi
定积分 b f (x) d x ( f (x) 0) 的几何意义 a b f (x)d x A. a
y
y f (x)
Oa
A
bx
b a
f
(x)d
x
b
a n
( y0
y1
yn1 )
b a(y y y ) .
n
1
2
n
y
y f (x)
左矩形法 右矩形法
矩形法
Oa
bx
例
y0
定积分定义取中点计算积分
定积分定义取中点计算积分
定积分是微积分中的一种重要概念,表示函数在一个区间上的积分值。
定积分的计算可以使用取中点的方法进行近似计算。
取中点计算积分的方法如下:
1.将区间[a, b]等分成n个小区间,每个小区间的宽度为Δx = (b - a) / n。
2.在每个小区间上选择一个中点,可以选择中点为xi = a + (i - 0.5) * Δx,其中i = 1, 2, ..., n。
3.计算在每个小区间上的函数值,可以选择函数在中点xi处的函数值f(xi)。
4.对每个小区间的函数值进行求和并乘以区间宽度Δx,即Δx * (f(x1) + f(x2) + ... + f(xn))。
这个和的极限值就是原函数在区间[a, b]上的定积分,可以表示为∫[a, b] f(x) dx。
5.使用取中点的方法计算定积分只是一种近似计算方法,并且精确度取决于划分的小区间个数。
当划分的小区间个数越多,近似计算的结果越接近准确的定积分值。
复合辛普森公式
复合辛普森公式
复合辛普森公式是一种数值积分方法,用于近似计算定积分的值。
它是基于辛普森公式的扩展,在辛普森公式中,将积分区间平均分成一系列小区间,然后在每个小区间中用二次多项式逼近被积函数。
在复合辛普森公式中,我们进一步将每个小区间再次细分,得到更多的子区间。
然后,对于每个子区间,我们使用辛普森公式来近似计算该子区间上的定积分值。
最后,将所有子区间的定积分值相加,就得到了整个积分区间上的近似值。
复合辛普森公式的具体计算步骤如下:
1. 将积分区间[a, b]平均划分为n个子区间,每个子区间的宽度为h =
(b - a) / n。
2. 对于每个子区间,计算其两个端点处的函数值f(a), f(b),以及中点处的函数值f((a + b) / 2)。
3. 使用辛普森公式,在每个子区间上计算定积分的近似值:
I_i ≈(h / 6) * [f(a) + 4f((a + b) / 2) + f(b)]
其中,I_i表示第i个子区间上的定积分近似值。
4. 将所有子区间的定积分近似值相加,即可得到整个积分区间上的近似值:
I ≈I_1 + I_2 + ... + I_n。
复合辛普森公式通过使用更多的子区间,可以提高积分的精度。
通常情况下,选择合适的子区间数量n,可以使得近似值更接近实际的定积分值。
需要注意的是,复合辛普森公式对于被积函数具有足够光滑性质时效果较好,对于具有突变或不连续性的函数可能不适用。
此外,在选择子区间数量时,需要在计算精度和计算复杂度之间进行权衡,以便在保证精度的前提下,尽可能减少计算所需的时间和资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25
int
b
a f (v)dv
f (v)dv
符号积分: int
int(f,v,a,b) 计算函数 f 关于自变量 v 的定积分,积分区间为 [a, b]
int(f,v)
计算函数 f 关于自变量 v 的不定积分
本实验主要研究定积分的三种近似计算算法:矩形法、 梯形法和抛物线法。同时介绍 Matlab 计算定积分的相 关函数。
2
主要内容
数值积分的常见算法
矩形法 梯形法 抛物线法
Matlab 求积分函数
数值积分函数:trapz、quad、dblquad 符号积分函数:int
3
定积分的近似
定积分的定义
>> double(a) >> double('a')
ans = 3 ans = 97
28
数值实验
例:用 Matlab 函数近似计算定积分 I 2 e x2dx 1 梯形法: >> x=1:0.001:2; >> y=exp(x.^(-2)); >> trapz(x,y) 抛物线法: >> quad('exp(x.^(-2))',1,2,10e-10) 符号积分法: >> syms x >> int('exp(x^(-2))',x,1,2)
例:计算二重积分 I 2 1 (4xy 3x2 )dxdy 0 1 X >> dblquad(inline('4*x*y+3*x^2'),-1,1,0,2) >> dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2) 24
dblquad 举例
被积函数 f (x,y) 的另一种定义方法:匿名函数
Matlab 求积分函数
数值积分函数:trapz、quad、dblquad 符号积分函数:int18来自 trapztrapz
梯形法
trapz(x,y)
x 为分割点(节点)组成的向量, y 为被积函数在节点上的函数值组成的向量。
b a
f ( x)dx
ba n
y0 2
y1 L
yn1
yn 2
x0 步长
x1 x2 L L
xi
h
b
n
a
xi1 xi
LL
xn1
xi a ih, i 1,2,K n
xn 节点
b
n
n
f ( x)dx
a
f ( xi-1 )xi h f ( xi1 )
i 1
i 1
左点法
b
n
n
f ( x)dx
a
f ( xi )xi h f ( xi )
i 1
x [ x0 , x1,K , xn] y [ f ( x0 ), f ( x1),K , f ( xn )]
19
trapz 举例
例:用梯形法计算下面定积分 ( 取 n=100 )
I
1 dx 0 1 x2
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
c a f ( x, y)dxdy
抛物线法计算二重积分: dblquad
dblquad(f,a,b,c,d,tol)
tol 为计算精度,若不指定,则缺省精度为 10-6
f 可以是: 字符串;inline 定义的内联函数;函数句柄
[a,b] 是 第一积分变量 的积分区间, [c,d] 是 第二积分变量 的积分区间
i 1
右点法
b a
f ( x)dx
n i 1
f
(
xi1 2
xi
)xi
n
h
i 1
f ( xi1 xi ) 2
中点法
fuluA.m6
矩形法举例
例:用不同的矩形法计算下面的定积分 ( 取 n=100 ),
并比较这三种方法的相对误差。
I
1 dx 0 1 x2
解:a=0, b=1, n=100
或 >> f=sym('1/(1+x^2)'); >> int(f,'x',0,1)
或 >> int('1/(1+x^2)','x',0,1) 或 >> int('1/(1+x^2)',0,1)
27
相关函数
double(a) 将 a 转化为双精度型,若 a 是字符,则取对应的 ASCII 码
例: >> a=3;
b
f ( x)dx
a
n
lim
n
f (i )xi , i [xi1, xi ]
x0 i1
x1 x2 L L
xi
x0
L L x1
x2
xi1 xi
LL
LL
xn xn1
xn
xi xi xi1
x
max i
xi
4
矩形法
定积分的近似:
b
n
f ( x)dx
a
f (i )xi
i 1
n 充分大,x 充分小
f = f(x) 为被积函数,[a,b] 为积分区间,tol 为计算精度
不用自己分割积分区间
可以指定计算精度,若不指定,缺省精度是 10-6
精度越高,函数运行的时间越长
此处的函数 f 是数值形式,应该使用数组运算,即: .* ./ .\ .^
将自变量看成是向量
21
quad 举例
例:用 quad 计算定积分: I
2
(
(x22 x2
x22 )
x02
)
( x2 x0 )2 2( x2 x0
( x2 ) 4
x0
)
x2 x0 6
(y0 4y1 y2 )
ba 6n
(y0 4 y1 y2 )
14
抛物线法
同理可得:
x4 x2
f ( x)dx
ba 6n
(
y2
4 y3
y4 )
LL
x2n x2 n 2
数学实验
实验二 定积分的近似计算
1
定积分的近似计算
问题背景和实验目的
定积分计算的基本公式是牛顿-莱布尼兹公式。但当 被积函数的原函数不知道时,如何计算?这时就需要利 用近似计算。特别是在许多实际应用中,被积函数甚至 没有解析表达式,而是一条实验记录曲线,或一组离散 的采样值,此时只能用近似方法计算定积分。
ba, 2n
xi
ih1 ,
i
0, 1,K
, 2n
计算每个节点上的函数值:
yi f ( xi ), i 0,1,K , 2n
在区间 [x0, x2] 上,用过以下三点 P0 ( x0 , y0 ), P1( x1, y1 ), P2 ( x2 , y2 )
的抛物线来近似原函数 f (x) 。
用抛物线代替该直线, 计算精度是否会更好?
int(f,a,b)
findsym(f,1)
计算 f 关于默认自变量 的定积分,积分区间为[a,b]。
int(f) 计算 f 关于默认自变量 的不定积分。
26
int 举例
例:用 int 函数计算定积分:
I
1 dx 0 1 x2
解: >> syms x; >> f=1/(1+x^2); >> int(f,x,0,1)
29
数值实验
例:用 Matlab 函数近似计算二重积分
I
2
dx
1 ( x y2 )dy
0
1
抛物线法:
>> dblquad(inline('x+y^2'),0,2,-1,1)
符号积分法:
>> f=int('x+y^2','y',-1,1); >> int(f,'x',0,2)
30
2( y2 y4 L y2n2 )]
抛物线法公式
或 辛卜生 (Simpson) 公式
fuluC.m
16
抛物线法
例:用抛物线法计算下面定积分 ( 取 n=100 ),并计算相对误差
I
1 dx 0 1 x2
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
中点法相对误差:0.78540024673078 / 4 2.653 10-6 /4
不同的算法有不同的计算精度
有没有更好的近似计算定积分的方法 ?
8
定积分几何意义
b
S a f ( x)dx
y
f (x)
S1 S2
Si
Sn
b
n
S f ( x)dx a
Si
i 1
oa
xi1 xi
bx
9
f ( x)dx
ba 6n ( y2n2
4 y2n1
y2n )
相加即得:
b
n
f ( x)dx
x2i f ( x)dx
a
i1 x2i2
n i 1
ba 6n
( y2i2
4 y2i1
y2i )
15
抛物线法
整理后可得:
b