定积分的近似计算
matlab实验报告--定积分的近似计算
abs((inum2-integrate)/integrate))
fprintf('the relative error between inum3 and real-value is about: %g\n\n',...
abs((inum3-integrate)/integrate)) 【调试结果】
○2 使用函数 quad()
quad('sin(x)./x',0,inf) 【调试结果】 ans =
NaN
○3 程序法
%矩阵法
format long
n=inf;a=0;b=inf;
syms x fx
fx=sin(x)./x;
i=1:n;
xj=a+(i-1)*(b-a)/n; xi=a+i*(b-a)/n;
实验目的:
本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法。对于定 积分的近似数值计算,Matlab 有专门函数可用。
实验原理与数学模型:
1. 矩形法 根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即
在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计 算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.
【调试结果】
inum =
0.78539816339745
the relative error between inum and real-value is about: 2.82716e-016
【情况记录】
1、梯形法和抛物线法程序设计较为顺利。但要注意使用 for 循环函数和求和函数时
的不同 matlab 命令,避免混淆出错。使用函数 trapz(),quad()时要注意被积函数是数 值形式,应使用数组计算,应用点除即 ./ ,否则将出错,不能调试出结果。
定积分定义的四要素分割近似求和
定积分定义的四要素分割近似求和积分是数学中的一种重要的操作。
它的基本概念是“定积分”,即把一段区间分割为若干小段,逐个处理每一小段,最后将每一小段的处理结果累加,从而得到全局结果。
定积分通常有四个要素,即函数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。
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。
以上就是计算定积分的两种常用方法,它们都是基于求和原理的,只是求和的方式不同而已。
在实际应用中,我们可以根据实际情况选择合适的方法,以达到最优的计算效果。
高数定积分知识点总结
高数定积分知识点总结一、定积分的定义定积分是微积分中的一个重要概念,它是对一个函数在一个区间上的积分结果进行计算的过程。
在数学上,定积分是用来计算曲线下面的面积或者函数在某一区间上的平均值的方法。
定积分可以写成以下形式:\[ \int_{a}^{b} f(x)dx \]其中,\( f(x) \)是被积函数,\( a \)和\( b \)是积分区间的端点。
定积分的计算过程就是求解被积函数在给定区间上的曲线下面的面积。
定积分在物理学、工程学和经济学等领域都有着广泛的应用,是微积分中不可或缺的重要工具。
二、定积分的性质1. 定积分的可加性如果函数\( f(x) \)在区间\([a, b]\)上是可积的,那么对于任意的\( c \)满足\( a \leq c \leq b \),都有:\[ \int_{a}^{b} f(x)dx = \int_{a}^{c} f(x)dx + \int_{c}^{b} f(x)dx \]这个性质表明了定积分的可加性,即在一个区间上进行积分的结果可以根据任意划分点\( c \)进行分割。
2. 定积分的线性性对于任意的实数\( \alpha, \beta \)和函数\( f(x), g(x) \),如果\( f(x), g(x) \)在区间\([a, b]\)上是可积的,那么有:\[ \int_{a}^{b} (\alpha f(x) + \beta g(x))dx = \alpha \int_{a}^{b} f(x)dx + \beta \int_{a}^{b} g(x)dx \]这个性质表明了定积分的线性性,即在一个区间上进行线性组合的函数的积分等于线性组合的函数的积分的线性组合。
3. 定积分的保号性如果在区间\([a, b]\)上有\( f(x) \geq 0 \),那么有:\[ \int_{a}^{b} f(x)dx \geq 0 \]这个性质表明了定积分的保号性,即当被积函数在一个区间上非负时,其积分结果也是非负的。
几种定积分的数值计算方法
几种定积分的数值计算方法一、梯形法则(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。
定积分定义取中点计算积分
定积分定义取中点计算积分
定积分是微积分中的一种重要概念,表示函数在一个区间上的积分值。
定积分的计算可以使用取中点的方法进行近似计算。
取中点计算积分的方法如下:
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.使用取中点的方法计算定积分只是一种近似计算方法,并且精确度取决于划分的小区间个数。
当划分的小区间个数越多,近似计算的结果越接近准确的定积分值。
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)$是偶数项和奇数项的子区间中心点处的函数值。
这个公式可以通过简单的代数运算和积分计算得到,它的精度随着子区间数的增加而增加,当子区间数增加至一定程度时,可以得到较高的精度。
定积分计算法则范文
定积分计算法则范文一、基本积分法:基本积分法是指通过查表或记忆直接计算出一些常见函数的积分,常见的基本积分公式有如下几个:1. ∫x^n dx = (x^(n+1))/(n+1) + C 其中n不等于-12. ∫(1/x) dx = ln,x, + C3. ∫e^x dx = e^x + C4. ∫a^x dx = (a^x)/lna + C通过这些基本积分公式,可以直接求解出很多简单的定积分。
二、换元积分法:换元积分法是通过变量替换的方式将原积分式转化为另一个形式的积分式,从而使得计算更简单。
具体步骤如下:1. 设 u = g(x),则 du = g'(x) dx2. 将原积分式中的dx用du替代3.将原积分区间中的x用新的变量u表示4.求得新的定积分式,进行计算5.将结果转换回原变量x三、分部积分法:分部积分法是对于乘积的函数进行积分的一种方法,通过反复应用积分公式,将原积分式化为简单的基本积分形式。
具体步骤如下:1. 将原积分式分解为两个函数相乘的形式∫u dv2. 设 u 为一个函数,dv为另一个函数,且du和v可以求导或求积出来3. 根据分部积分公式∫u dv = uv - ∫v du,进行计算4.反复应用分部积分直到得到简单的基本积分形式四、分式积分法:分式积分法是对于有理函数进行积分的一种方法,通过将有理函数拆分为部分分式的形式,然后对每个部分分式进行积分计算。
具体步骤如下:1.对有理函数进行部分分数分解2.对每个部分分式进行积分计算3.简化结果并合并得到最终的积分结果五、定积分中值定理:定积分中值定理是针对连续函数在闭区间上的积分,通过介值定理可以得到存在一个介于区间上下限之间的点,使得该点的函数值等于其在区间上的平均值。
具体表达式如下:∫a^b f(x) dx = f(c) * (b - a),其中a ≤ c ≤ b这个定理可以用于求解一些特殊类型的定积分,例如平均值定理、计算面积和体积等。
定积分的近似计算 矩形法 教学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.矩形法:将积分区间分成若干个等宽的小矩形,然后用小矩形的面积近似代替曲线下方的面积,从而得到定积分的近似值。
2.梯形法:将每个小矩形连接起来形成一个梯形,然后用梯形的面积近似代替曲线下方的面积,从而得到更精确的定积分近似值。
3.辛普森法则:将积分区间分成对称的两部分,然后在每个部分上使用梯形法进行近似计算,最后将两个部分的近似值相加,得到定积分的近似值。
4.牛顿-莱布尼茨公式:将积分区间分成若干个小区间,然后在每个小区间上使用矩形法进行近似计算,最后将所有小区间的近似值相加,得到定积分的近似值。
三、具体分析1.矩形法矩形法是一种简单直观的定积分估算方法。
其基本思想是将积分区间分成若干个等宽的小矩形,然后用小矩形的面积近似代替曲线下方的面积。
这种方法简单易行,但精度较低。
矩形的宽度越大,近似值的误差越大。
因此,在处理大区间或复杂函数时,矩形法的精度可能无法满足要求。
2.梯形法梯形法是在矩形法的基础上改进而来的。
与矩形法相比,梯形法更精确。
其基本思想是将每个小矩形连接起来形成一个梯形,然后用梯形的面积近似代替曲线下方的面积。
这种方法比矩形法更精确,因为梯形的面积更接近曲线下方的面积。
但当小矩形的宽度较大时,误差仍然较大。
因此,在处理大区间或复杂函数时,梯形法的精度也可能无法满足要求。
3.辛普森法则辛普森法则是基于梯形法的改进方法。
其基本思想是将积分区间分成对称的两部分,然后在每个部分上使用梯形法进行近似计算。
最后将两个部分的近似值相加,得到定积分的近似值。
与梯形法相比,辛普森法则可以在计算量增加不大的情况下提高近似值的精度。
定积分的计算公式例题讲解
定积分的计算公式例题讲解在微积分中,定积分是一个重要的概念,它可以用来计算曲线下面积、求解体积和质量等问题。
定积分的计算公式是一种基本的工具,掌握这些公式可以帮助我们更好地理解和应用微积分知识。
本文将通过例题讲解的方式,详细介绍定积分的计算公式及其应用。
首先,我们来回顾一下定积分的定义。
对于一个函数f(x),在区间[a, b]上的定积分表示为:∫[a, b] f(x) dx。
其中,f(x)是被积函数,dx表示自变量x的微元。
定积分的计算公式可以帮助我们求解这个积分,从而得到曲线在区间[a, b]上的面积。
下面,我们通过几个例题来讲解定积分的计算公式。
例题1,计算定积分∫[0, 2] x^2 dx。
解:根据定积分的计算公式,我们可以将被积函数展开成一个无穷小区间上的和:∫[0, 2] x^2 dx = lim(n→∞) Σ(i=1→n) f(xi)Δx。
其中,Δx = (b-a)/n,xi是区间[a, b]上的任意一点,f(xi)是函数在xi处的取值。
在这个例题中,我们可以将区间[0, 2]等分成n个小区间,每个小区间的长度为Δx。
然后,在每个小区间上取一个点xi,计算出f(xi)的值,最后将这些值相加并取极限即可得到定积分的值。
具体来说,我们可以取n=4,将区间[0, 2]等分成4个小区间,每个小区间的长度为Δx=2/4=0.5。
然后,在每个小区间上取一个点xi,分别计算出f(xi)的值:x1 = 0.25, f(x1) = (0.25)^2 = 0.0625。
x2 = 0.75, f(x2) = (0.75)^2 = 0.5625。
x3 = 1.25, f(x3) = (1.25)^2 = 1.5625。
x4 = 1.75, f(x4) = (1.75)^2 = 3.0625。
将这些值相加并乘以Δx,得到定积分的近似值:Σ(i=1→4) f(xi)Δx = 0.06250.5 + 0.56250.5 + 1.56250.5 + 3.06250.5 = 2.25。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验报告
1n y -+++
1n y -+++,此时计算的相对误差
3212422)2()]n n y y y y --++++
+
)公式.
3212422)2()]n n y y y y --++++
+
=0.78539816339745,
主要内容(要点):
1 用矩形法、梯形法和抛物线法分别计算单调增函数,单调减函数,凸函数和凹函数在某个区间的定积分。
要求:·每类函数三个以上;
·总结对同一类函数,用哪种方法近似结果更好; 单调递增函数: 31)(x x f = 52)(x x f = 73)(x x f = 单调递减函数: 31)(x x f -= 52)(x x f -= 73)(x x f -= 凸函数: 91)(x x f -= 112)(x x f -= 133)(x x f -= 凹函数: 91)(x x f = 112)(x x f = 133)(x x f =
实验过程记录(含基本步骤、主要程序清单及异常情况记录等): 1: 程序代码:
%用矩形法计算函数在某个区间的定积分 format long n=100;a=0;b=1; syms x fx
fx=x^5; %通过改变函数来改变对不同函数用矩形法进行定积分近似计算 inum=0; for i=1:n
xj=a+(i-1)*(b-a)/n; xi=a+i*(b-a)/n;
fxij=subs(fx,'x',(xi+xj)/2); inum=inum+fxij*(b-a)/n; end inum
integrate=int(fx,0,1)
integrate=double(integrate)
fprintf('The relative eroor between inum and real-value is about: %e\n\n',...
abs((inum-integrate)/integrate))
%用梯形法进行定积分近似计算 format long
n=100;a=0;b=1;inum=0; syms x fx
fx=x^5; %通过改变函数来改变对不同函数用梯形法进行定积分近似计算 for 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); inum=inum+(fxi+fxj)/2*(b-a)/n;
end
integrate=int(fx,0,1)
integrate=double(integrate)
fprintf('The relative error between inum and real-value is about: %e\n\n',... abs((inum-integrate)/integrate))
%用抛物线法进行定积分近似计算
format long
n=100;
a=0;b=1;
inum=0;
syms x fx
fx=-x^5; %通过改变函数来改变对不同函数用抛物线法进行定积分近似计算
for i=1:n
x0=a+(2*i-2)*(b-a)/(2*n);
x1=a+(2*i-1)*(b-a)/(2*n);
x2=a+(2*i-0)*(b-a)/(2*n);
fx0=subs(fx,'x',x0);
fx1=subs(fx,'x',x1);
fx2=subs(fx,'x',x2);
Si=(fx0+4*fx1+fx2)*(b-a)/(6*n);
inum=inum+Si;
end
inum
integrate=int(fx,0,1);
integrate=double(integrate)
fprintf('The relative eroor between inum and real-value is about: %e\n\n',... abs((inum-integrate)/integrate))
2:上机实验:
step1:打开编写窗口输入编写好的代码;
step2:存盘并进行运行操作;
step3:根据提示,对函数进行改变并输入,探究结果;
实验由本人独立完成,并能完全理解运用。