积分求面积是求fx的面积,但为什么最后得出了原函数

定积分的几何意义为什么表示面积,为什么被积函数所围成的面积等于原函数两点之差
浮生梦魇TA266
答:从定积分的定义去理它是一个极限,你看一下这个极限是怎么来的,就是把你积分的区间分成N份,然后在每个区间内任意取F(X)(看图,它相当于矩形的宽),然后用这个F(X)乘以这个区间的长度(看图,它相当于矩形的长,只不过是与该曲线和X轴围城的面积近似),最后把整个N份(也就是N个矩形的面积)加起来,不就是得到了整个积分区间上的与原曲边和X轴围城的面积的近似值,最后就是取极限将N趋向无穷,那么这样就表示面积了.
那为什么这个面积等于它的原函数ab两点值之差呢
从图中可以看出,区间a到b决定了这些小矩形的长。
为您推荐:
其他类似问题
因为导数可以看作原函数在每个点的“差”,积分可以看作是求和,所以当你对导函数去积分就相当于把各个点作的“差”又加起来了,最后的结果就是原函数在两头的差了。可以用人上楼梯的过程进行类比。
扫描下载二维码为什么一个函数的不定积分可以算它的面积,知道一个函数的上下界时,可以用N-L公式,就是算他的不定积分,求导的逆运算.原函数F(A)-F(B)就是他f(X) [A,B]的面积.它的原理是什么.为什么能这么算.需要N-L公式推导或演算或原理.如果知道的话能解释一下N-L公式的几何含义吗?(上面的是重点,这问题知道的话说下)所以我说了嘛。[A,B]是它上下界嘛。高等数学书上没说为什么。只说了N-L公式使用方法。它的思想我知道,微分思想,无限分割。我要知道的是N-L公式推论演算。
BINGO00167
首先,n-l公式是不可以求不定积分的,是你先把不定积分求出来再用n-l公式.其次,你要清楚什么是微分,我们说微分的几何意义有两个,一个是函数某点的斜率,另一个的话要结合积分的概念.积分几何意义是函数f(x)下的面积!所以 积分的微分=面积的微分.你想像用刀把面积纵向切开.切成的一条条细线就是微分!每条线的长度就是f(x)在该点的函数值!所以f(x)的面积在某点的微分=f(x)在某点的函数值.若把f(x)的面积看成是一个函数G(x)(当然啦,这里下界是固定的,上界为可移动的x,不然不方便表示),就可以说F"(x)=f(x).(打成了两撇.我实在找不出来一个撇的,lz不要在意)这就是n-l公式.所以f(x)在(a,b)上的面积为F(a)-F(b),只要能通过f(x)找到他的原函数F(x)具体表达式就可以算啦!这个F(x)又叫f(x)的不定积分,因为F(x)+C【C是常数】的导数(微分)也是f(x)的~你就想象那个常数c是在f(x)的面积外面(即定义域外面)添加的任意但固定的额外面积,不影响f(x)的面积在定义域内某点的微分值,在计算面积【F(a)+C】-【F(b)+C】时会消去呵呵有点不习惯,我一直用直观几何语言给你讲的~至于推导,你把你的邮箱给我,我把图片发给你,尽量用简单几何意义来证明,现打太碍事.
为您推荐:
其他类似问题
其实严格说来,并不是算f(x)的面积,而是算它与它的上下界所围成的面积。可以这样来理积分就是将一个大的面积,分割成无数个小的长方型的面积之和,而计算长方形面积需要知道它的长和宽,而其中的长就是这个积分的上下边界(所以才说积分的面积是与上下界的直线所围成的面积),那么宽就是这个要积的曲线的每一小段。将这许多一小段无限累积起来,就变成了这个曲线。...
你的问题有点不清楚,若是问定积分的几何意义以及N-L公式的几何含义,最好找本高等数学的书看一下
扫描下载二维码[二重积分的积分区域]78用MATLAB计算某些区域上的二重积分
· · · ·
您当前的位置: → [二重积分的积分区域]78用MATLAB计算某些区域上的二重积分
[二重积分的积分区域]78用MATLAB计算某些区域上的二重积分
篇一 : 78用MATLAB计算某些区域上的二重积分用MATLAB计算某些区域上的二重积分摘要:本文研究某些区域上二重积分数值积分公式的构造,数学软件MATLAB实现所构造的数值积分的计算,通过MATLAB用所得公式计算某些典型的二重积分。主要工作包括:将定积分数值计算的几个公式推广到二重积分,编制MATLAB程=序,最后通过具体的数值算例进行精度比较,从中选出精度高的二重积分的计算公式,并用公式计算一些典型的二重积分。关键词:二重积分;数值计算;插值多项式;求积公式 1.引言二重积分的计算在科学计算中起着重要的作用,关于矩形区域上的二重积分的计算一般都是化重积分为累次积分,然后借助定积分已有的数值积分计算公式推导出,MATLAB已经有这些计算公式的相应的函数,但是往往我们建模得到的二重积分的积分区域都不是矩形区域,对于一般的非矩形区域的二重积分,直接用MATLAB是无法计算的。又当被积函数比较复杂,无法用初等函数表示或求其原函数很困难时,就只能求积分的数值解。若f(x,y)在D上连续,二重积分∫∫f(x,y)dxdy存在且为一确定的常数,这D个数值与f(x,y)的结构、D的几何形状有关,二重积分计算的基本途径是在一定条件下化为二次积分,本文研究的某些区域的二重积分,要求二重积分在该区域上能化为二次积分。二重积分的存在性[1]:f(x,y)在闭区域D上连续,则∫∫f(x,y)dxdy必存在。D定理[1]:若f(x,y)在闭区域D{a≤x≤b;c(x)≤y≤d(x)}上连续,且c(x)、d(x)在[a,b]上连续,则:I∫∫Df(x,y)dxdy∫∫ab d(x)c(x)f(x,y)dxdy上式右端是一个先对x后对y的二次积分:先把f(x,y)看作x的函数,在区间[c(x),d(x)]上对x计算定积分(这时y看作常数),把得到的结果(是y的函数)再在[a,b]上对y计算定积分即为二重积分。具体处理办法是设:d(x)b?(x)=c(x)∫,I=∫?(x)dx(2) f(x,y)dy(1)a计算二重积分转化为计算单次积分(1)、(2)。[2]2.定积分的数值积分公式==关于定积分,有Newton-Leibniz公式:∫baf(x)dxF(b)?F(a)在实际问题中,往往会遇到被积函数的原函数无法用初等函数来表示,或有==的虽然能用初等函数表示,但过分复杂,这些情形都需要去建立定积分的近似计算公式,也就是求积分的数值解。==定义数值积分如下:In(f)是离散点上的函数值的线性组合In(f)=∑Aif(xi),Ai称为积分系数,与f(x)无关,只与积分区间和积分点i=0n有关。在数值积分方面,最容易得到的是用f(x)的代数插值函数p(x)来代替它,即将积分区间细分,在每小区间内用简单函数代替复杂函数,这是数值积分的基本思想。对替代函数的要求:精度要高、计算量要小。定义代数精度:求积公式∫f(x)dx≈∑Aif(xi)对一切不高于n次的多项式ai=0bn都准确成立,而对于n+1次多项式等号不成立,则称此公式的代数精度为n。代数精度越高,则公式越精确。下面介绍插值型数值积分:牛顿—柯特斯型积分公式。将积分区间[a,b]n等分,设节点为:xi=+aih,i=0,?,n 步长h=b?a,在n+1个节点上建立插值于f(x)的n次代数多项式pn(x)(拉格n=朗日插值多项式),并引进变换:x=a+th,0≤t≤n 则有:pn(x)=∑(∏j=0i=0j≠innx?xi)f(xj), 于是得到插值型的牛顿-柯特斯积分公式:xj?xi∫baf(x)dx≈∫pn(x)dxabb?annx?xi(∏)f(xj)dx∑∫naj=0i=0xj?xij≠ibb∫Aajf(xj)。这里Ajb?annx?xi1nnx?xi(n)(n))(b?a)Cj,令Cj=∑(∏∑(∏nj=0i=0xj?xinj=0i=0xj?xij≠ij≠iAj称为求积系数,与被积函数无关,Cj(n)称为柯特斯系数,与步长h无关。可得到代数精度为n阶的数值积分bIn(f)=∫Ajf(xj),误差:I(f)?In(f)a∫baRn(x)dx∫baf(n+1)(x)ωn(x)dxa≤x≤b(n+1)!2.1梯形公式牛顿-柯特斯型求积公式中,当n=1时,111(1)1(1)C0=?∫(t?1)C1=tdt∫002211,记T=I1(f)。 I1(f)=(b?a)(f(a)+f(b))(1.1)22如图1所示,用一次插值多项式(直线)p1(x)代替被积函数f(x),定积分的几何意义是曲边梯形的面积,此时用梯形面积近似代替曲边梯形面积,故称公式(1.2)为梯形公式。梯形公式有1阶的代数精度,用1次多项式估计误差: E1(f)∫baf''(x)(x?a)(x?b)dx2!f''(x)b(x?a)(x?b)dx2!∫a?(b?a)3f''(x) 122.2辛普森(Simpson)公式牛顿—柯特斯型求积公式中,当n=2时,=12=1(2)C0(t1)(t2)??∫046124?(?2); C1(2)ttdt=∫)(?1)C2ttdt4∫06===14b+a1,记S=I2(f), )+(b?a)f(b)(1.2)I2(f)=(b?a)f(a)+(b?a)f(6626如图2所示,用二次插值多项式(抛物线)p2(x)代替被积函数f(x),定积分的几何意义是曲边梯形的面积,此时用曲边用抛物线代替,故称公式(1.2)为称为抛物线公式,也称此公式为Simpson公式。x0 x1x1x012图1:用一次插值多项式代替被积函数 图2:用二次插值多项式代替被积函数注意到,Simpson公式有3阶代数精度,因此为了对误差有更精确地估计,用3次多项式估计误差:E2(f)=I(f)?S(f)=I(f)?I(P3)+I(P3)?S(f)===∫baf(4)(x)a+b??(x?a)?x??(x?b)dx 4!2??22f(4)(x)ba+b?(b?a)5(4)?f(x) ∫(x?a)?x???(x?b)dxa4!2?2880?=从余项的表达式看到,积分的区间宽度比较大,则(b?a)3、(b?a)5就会很=这时要提高精度,=大,梯形公式与Simpson公式的计算误差就很大,若将积分区间分割成一些小区间,就可使求积公式的截断误差变小。因此,经常把积分区间=分成若干小区间,在每个小区间上采用次数不高的插值公式,如梯形公式或抛物线公式,构造出相应的求积公式,然后再把它们加起来得到整个区间上的求积公式,这就是复化求积公式的基本思想。复化求积公式克服了高次Newton-Cotes=公式计算不稳定的问题,其运算简单且易于在计算机上实现。常用的复化求积公式是复化梯形公式和复化Simpson公式。 2.3复化求积公式将区间[a,b]分为若干个小子区间,在每个小子区间上使用低阶的Newton-Cotes公式。然后把它们加起来,作为整个区间上的求积公式。 2.3.1复化梯形公式b?a将区间[a,b]n等分,令h,xk=a+kh,(k=0,1,?,n),在每个小区间nh上用梯形公式:xxk?n?,,0,1,,1T(f(xk)+f(xk+1)),k=0,1,?,n?1 [kk+1]k2n?1hTn=∑Tk=(f(a)+f(b))+h∑f(xk)(1.3.1)2k0k1n?1==称公式(1.3.1)为定积分的复化梯形公式。每个小区间上的误差为:h3''Rkf(hk),hk∈[xk,xk+1],整体误差为:Rn?12b?a1n?1''和∑f(hk)h=nnk=0∑Rk0n?1kh3''(?)f(hk),利用∑12k0n?1f''(h),h∈[a,b]得到复化梯形公式的截断误差为:b?a2''R(Tn)?hf(h)=O(h2)122.3.2复化辛普森(Simpson)公式同样,将积分区间[a,b]n等分,在每个小区间[xk,xk+1]上用Simpson公式:hSk=(f(xk)+4f(x1)+f(xk+1))k+62h2n?11n?1Sn=∑Sk=(f(a)+f(b))+h∑f(x1)+h∑f(xk)(1.3.2)k+63k03k1k02n?1称公式(1.3.2)为定积分复化Simpson公式,此公式的截断误差为:(b?a)4(4)?R(Sn)hf(h)=O(h4),其中h∈[a,b] 28802.4龙贝格(Romberg)公式龙贝格(Romberg)算法是将理查逊(Richardson)外推法(由于篇幅有限,略去外推法推导)应用于数值积分,由低精度求积公式推出高精度求积公式的算法。 在区间[a,b]上,利用复化梯形公式:==111b?a) T[1,x]+(b?a)f(a+T[1,x]=(b?a)(f(a)+f(b)),T[2,x]2222=令S[1,x]pT[1,x]+qT[2,x],p,q为待定系数。===由于T[1,x]、T[2,x]对一次多项式精确成立,可确定p,q使S[1,x]对f(x)=x,x2精=确成立,为简单记,在[0,1]上考虑。1因为∫xdx=011,则T[1,x]=(0+1)/2=1/2,T[2,x]=1/4+1/4=1/2,得:21p+q=1;∫x2dx= ,T[1,x]=1/2,T[2,x]=3/8,p/2+q/3=3/8。3=04由此可得:p=?1/3,q=4/3,则S1T2?T1。3yyy0+4y1+y2yy1而S[1,x],这恰(4T[2,x]?T[1,x])4(0+y1+2)/3?(0+2)3222261是Simpson公式。 用同样的方法可以得到:S[2k,x](4T[2k+!,x]?T[2k,x])。3计算S[1,x]需要T[2,x],用了三个点,代数精度为3。同样,令C[1,x](42S[2,x]?S[1,x])(42?1)7y0+32y1+12y2+32y3+7y4。 同理,C[2k,x]=(42S[2k+1,x]?S[2k,x])(42?1)。计算C[1,x]需要S[4,x],用了五个点,代数精度为5。 同样令:…;(1.4) R[2k,x]=(43C[2k,x]?C[2k,x])(43?1)R[1,x]=(43C[2,x]?C[1,x])(43?1);称公式(1.4)为定积分的龙贝格公式。计算R[1,x]需要C[6,x],用了七个点,代数精度为7。.2.5高斯(Gauss)积分公式数值积分中给出一个代数精度为2n+1的积分公式:,其中,A称为积分系数,x为高斯节点。 ∫f(x)dx≈∑Af(x)(1.4)iiiii=11n?178用MATLAB计算某些区域上的二重积分_二重积分积分系数和高斯节点可由勒让德多项式Pn(x)确定,高斯节点恰为多项式的零点,高斯求积公式可根据选定的节点数和对应的求积系数编程实现,将之构造表格,即可求出积分近似值。1对于一般区间[a,b]上的积分,可用变量替换[(a+b)+(b?a)t],使积分区2b间[a,b]化为[?1,1],有∫f(x)dx=ab?ab?ab+a()dt,再对右边的积分用ft+∫122?21高斯求积公式计算。3.二重积分的积分公式微积分中,二重积分的计算是用化为累次积分的方法进行的,只要被积函数在I∫∫f(x,y)dxdy∫∫D a b d(x) c(x)f(x,y)dxdybd(x)设?(x)=∫f(x,y)dy(1),则I=∫?(x)dx(2),单次积分(2)中y为参数。ac(x)=3.1二重积分梯形公式先处理单次积分(2),类比定积分的数值计算中采用的梯形公式,用一次插值多项式(直线)近似代替被积函数,在区间[a,b]上对单次积分(2)用梯形公=式可得:I≈(b?a)[?(a)+?(b)]对给定的每一个x,都有唯一的c(x)、d(x),在区间[c(x),d(x)]上对单次积分(1)用梯形公式有:d(x)?(x)I≈c(x)∫f(x,y)dy≈[d(x)?c(x)][f(x,c(x))+f(x,d(x))] (b?a)[(d(a)?c(a))f(a,c(a))+(d(b)?c(b))f(b,c(b))](2.1) 2称公式(2.1)为二重积分的梯形公式。用MATLAB编程见附录1。3.2二重积分Simpson公式先处理单次积分(2),类比定积分的数值计算中采用的Simpson公式,用二次次插值多项式(抛物线)近似代替被积函数,在区间[a,b]上对单次积分(2)用Simpson公式可得:bI=∫?(x)dx≈ab?ab+a[?(a)+4?()+?(b)](2.21) 62再处理单次积分(1),对给定的每一个x,都有唯一的c(x)、d(x),在区间[c(x),d(x)]上对单次积分(1)再用Simpson公式有:=d(xi)c(x)+d(xi)1)+f(xi,d(xi))]?(xi)∫f(x,y)≈[d(xi)?c(xi)][f(xi,c(xi))+4f(xi,i62c(xi)(2.22) ====b+a、、?(b),于是求得I的近似值。称公式(2.21)2(2.22)为二重积分的Simpson公式。用MATLAB编程见附录2。 ==3.3二重积分的复化求积公式[14]3.3.1二重积分的复化梯形公式 =先处理单次积分(2),在区间[a,b]上对(2)用复化梯形公式,具体步骤由此可求得?(a)、?(为:将区间[a,b]m等分,令hm=(b?a)/m,xi=a+ihm,(i=0,1,…m),则I≈hm(?(a)+?(b)2+∑?(xi)),其中?(xi)=∫i=1m?1d(xi)c(xi)f(xi,y)dy,再将[c(xi),d(xi)]n等分,在每个区间上用复化梯形公式有:hy(i)=(d(xi)?c(xi))/n,yij=c(xi)+jhy(i),(i=0,1…m;j=0,1…n) ?(xi)n?11hy(i)([f(xi,c(xi))+f(xi,d(xi))]+∑f(xi,yij)) 2j=1=?(a)+?(b)m?1n?11I≈hm(+∑hy(i)([f(xi,c(xi)+f(xi,d(xi))]+∑f(xi,yij))(2.3.1) 22i1j1称公式(2.3.1)二重积分的复化梯形公式用MATLAB编程见附录3。3.3.2二重积分的复化Simpson公式[5]对单次积分(2)用Simpson公式得到:h2n?11n?1, I≈(?(a)+?(b))+h∑?(x1)+h∑?(xi)(2.3.2)+i63i03i12对?(xi)使用复化Simpson公式得到:?(xi)12n?11n?1hy(i)[[?(c(xi))+?(d(xi))]+∑f(x1,yij)+∑f(xi,yij)] i+63j13j12其中hy(i)=(d(xi)?c(xi))/n,yij=c(xi)+jhy(i),(i=0,1…m;j=0,1…n)称公式(2.3.2)为二重积分的复化Simpson公式。用MATLAB编程见附录4。3.4二重积分龙贝格公式先处理单次积分(1),对于单次积分(1),先利用复化梯形公式处理,设T[2n,x]表示将区间[c(x),d(x)]n等分后使用复化梯形公式求得的积分近似函数,类比定积分的龙贝格算法有:4111F(x)≈1T[2n,x]?1T[n,x]=(4T[2n,x]?T[n,x]) 4?14?13事实上,直接验证后知道:S[2n,x]==1(4T[2n,x]?T[n,x]),其中,S[2n,x]是3=把区间[c(x),d(x)]n等分后使用复化Simpson序列函数,它是T[2n,x]和T[n,x]的线性组合,从而降低所求积分的计算误差。类似上面的推导,作Simpson序列的线性组合,又得到更精确的近似函数:=F(x)≈C(n,x)421 S[2n,x]?S[n,x]),C(n,x)称为Cotes序列函数。42?142?1再作Cotes=序列函数的线性组合,又得到:F(x)≈R[n,x]431C[2n,x]?C[n,x]) 334?14?1这样就得到了单次积分(1)的龙贝格公式。计算过程如下: =先计算T[2k,x],k=0,1,2,3,4;d(x)?c(x)?[1,][f(x,d(x))?f(x,c(x))]Tx?2? ?n??1()()()()dxcxdxcx?T[2n,x])T[n,x]+f(x,d(x)+(2i?1)∑?222nni=1?由此计算S[2k,x],(k=0,1,2,3);C[2k,x],(k=0,1,2);R[2k,x],(k=0,1);(2.4.1) 若R[21,x]?R[20,x]&ε(ε为给定的精度要求),则龙贝格序列函数R[21,x]就可作为单次积分(1)的近似积分,此时计算单次积分(2)就成为计算定积分,有:bbI1≈?xdxR()(2∫∫,x)dx(2.4)aa若(2.4)中定积分无法求解析解,则可继续使用定积分的龙贝格公式求其数值解。称公式(2.4)为二重积分的龙贝格积分公式。用MATLAB编程见附录5。3.5二重积分Gauss公式[5]先处理单次积分(1),对任意固定的x∈[a,b], c(x)、d(x)唯一确定,用变换yc(x)+d(x)d(x)?c(x),β=,则可将?(x)化为区间βu+α,其中α=22=[?1,1]上地Gauss积分:?(x)∫ d(x)c(x)f(x,y)dx111f(x,(d(x)?c(x))u+(d(x)+c(x)))?(d(x)?c(x)) ∫?12221在[?1,1]上用Gauss公式(取3个Gauss点)有:?(x)≈?&#39;(x)10111(d(x)+c(x)))?(d(x)?c(x))+f(x,(d(x)?c(x 9222811f(x,(d(x)?c(x))?(d(x)?c(x))922由于I=D∫∫f(x,y)dxdy a c(x)=∫∫ b d(x)bbf(x,y)dxdy&#39;?(x)dx≈?∫∫(x)dx aa用分点a=x0,x1,…xn=b将区间[a,b]分成偶数个长度相等的小区间,对?&#39;(x)再用Simpson公式,计算I的近似值为:I?1?1==22b?a(?(a)+?(b)+∑?(x2i)+3∑?(x2i+1))(2.5) 3ni1i1nn用MATLAB编程见附录6。3.6调用MATLAB中的dblquad函数计算二重积分中已有的计算二重积分的命令是dblquad,调用格式为:=MATLAB=int(int(f,y,c,d),x,a,b),但它只适用于积分区域为矩形区域的二重积分,二重积分的积分区域为:D{(x,y)|a≤x≤b;c(x)≤y≤d(x)}时,MATLAB无法直接计算该积=分。事实上,dblquad是可以胜任二重积分的计算的,要调用MATLAB的dblquad函数来计算二重积分,只需化积分区域为矩形区域。下面讨论两种处理方法。3.6.1换元法[8]二重积分I在一定条件下可转化为二次积分,对二次积分的被积函数换元,将内积分区域[c(x),d(x)]化为[0,1],于是积分区域就成了矩形区域。这种思想源于高斯型积分的思想。具体做法如下:令u=y?c(x),这里假设d(x)≠c(x), d(x)?c(x)bd(x)b1公式(2.5)称为二重积分的Gauss公式。 =则有:∫ac(x)b1∫f(x,y)dxdy∫dx∫f(x,(d(x)?c(x))u+c(x))(d(x)?c(x))du a0=∫dx∫F(x,u)du,其中F(x,u)=(d(x)?c(x))f(x,(d(x)?c(x))u+c(x))a0这样即可调用MATLAB的dblquad函数来计算二重积分了,编程见附录7。3.6.2拓展积分区域为矩形区域根据积分的区域可加性,设D=D1+D2,D1与D2有公共边界,则有:∫∫f(x,y)dxdy=∫∫f(x,y)dxdy+∫∫f(x,y)dxdy。DD1D2如图3所示,寻找可覆盖D的矩形区域D&#39;,D&#39;{(x,y)|a≤x≤b;c≤y≤d},其中cminc(x);d=maxd(x)。图3 将一般区域拓展为矩形区域 =构造分段函数:?f(x,y),(x,y)∈DF(x,y)=? &#39;?0,(x,y)∈D?D利用积分的可加性可得:∫∫F(x,y)dxdy∫∫F(x,y)dxdy+∫∫D&#39;DF(x,y)dxdy D&#39;?D∫∫f(x,y)dxdy+∫∫0dxdyDD&#39;?D即有:∫∫f(x,y)dxdy=∫∫F(x,y)dxdyDD&#39;由此即可调用MATLAB的dblquad函数来计算二重积分,编程见附录8。4.MATLAB环境下计算积分的命令[14]MATLAB中计算积分可以用符号解法和数值解法。4.1符号解法MATLAB中的符号积分的调用命令为int,得到符号解,命令格式为:int(f,x),功能是输出被积函数的原函数。计算定积分的命令格式为:int(f,x,a,b),功能是输出定积分的积分值。对于二重积分的符号解的调用命令也是int,命令格式为:int(int(f,y,c,d),x,a,b)功能是输出二次积分的积分值。4.2数值解法当被积函数的原函数较复杂或无法用初等函数表示时,符号解法求积分就失78用MATLAB计算某些区域上的二重积分_二重积分效了,此时可以使用数值解法代替积分值,在MATLAB中求积分数值解法主要有复化求积法(复化梯形公式、复化Simpson公式)、龙贝格公式、高斯求积公式。复化求积命令及调用格式如下表1。.表1 MATLAB中计算二重积分的命令及格式求积公式 复化梯形 复化Simpson 调用格式 trapz(x,y) quad(@fun,a,b,tol,trace) 龙贝格、高斯公式前面也有介绍,可编程实现。上述都是求定积分,对于二重积分,MATLAB中只有求矩形区域的二重积分,调用命令是dbquad,调用格式为:dbquad(fun,a,b,c,d,tol,method),或者可用triplequad(a,b,c,d,e,f)。 5.积分公式的精度检验为了验证本文所得求积公式的有效性,下面用具体二重积分为算例,调用上述的公式进行精度的检验与对比。算例cosxydxdy,积分区域D:{0.5≤x≤1;0≤y≤x} ∫∫xD表2 各种求积分公式精度比较各积分公式计算结果见表2。 分划数n 5 10 50 100公式2.1公式2.2公式2.3公式2.4公式2.50....0........0........61735 从以上两个算例来看,公式2.1、2.2误差较大,公式2.3、2.4、2.5的精度较高,在计算一般区域的二重积分时,就选择这三个公式来计算,公式2.3是复化Simpson公式,精度不如2.4与2.5,但是运算速度快,公式2.4是龙贝格公式,精度高,运算速度不如2.3,公式2.4为高斯公式,它复合了Simpson公式运算快的特点,兼顾了精度与运算速度。 6.二重积分求积公式的应用利用二重积分的求积公式,计算如下二重积分。例1 求二重积分∫∫Dsinydxdy,积分区域D:{1≤x≤≤y≤1} y例2 求二重积分∫∫sinDπx2yy22dxdy,积分区域D:{1≤x≤≤y≤x}例3 求二重积分∫∫xeD?dxdy,积分区域D:{1≤x≤3;x?1≤y≤x2}以上例题计算结果见表3。表3 用求积公式计算4个例题的积分值按照定积分的数值计算原理,得到了二重积分的几个计算公式,以具体算例检验积分公式,得到了较好的结果,说明积分公式有较高精度。在一些高、精、尖领域,若要求求解更高精度的二重积分,可以将本文的几个积分公式复合,导出更高精度的积分公式,对于三重积分,可参照二重积分求积公式的构造方法,将二重积分的几个计算公式推广到三重积分。 参考文献: [1]华东师范大学数学系.数学分析(第三版)[M].上海:高等教育出版社2009. [2]同济大学计算数学教研室.数值分析基础[M].上海:同济大学出版社1998. [3]Howard WillsonBryce Gardner.Numerical Intergration Toolbox[P]American2000.[4]邱爱保.重积分数值解的MATLAB实现[J].宜春学院学报):15-16. [5]郑华盛.高精度数值积分公式的构造及其应用[J].数学的实践与认识2007,37 (15):142-148.[6]宋士仓,陈绍春.计算二重积分的两个高效数值方法[J].郑州大学学报):16-19.[7]朱天琪.常用数学软件包中二重积分处理方法研究[J].云南师范大学学报):45-48.[8]周德亮,陈跃.MATLAB使用中几个问题的解决方法[J].吉林师范大学学报,):19-20. [9]马秀芬等.二重积分的一个数值计算公式[J].济源职业技术学院学报,2007,5(1):23-24.[10]朱振广.复杂区域上二重积分数值计算的一种方法[J].辽宁工学院学报,):69—70.[11]谢彦红.基于MATLAB的Gauss积分节点系数研究[J].沈阳农业大学学报,):254—256. [12]林洽武.MATLAB解复杂一重定积分[J].广东教育学院报):43-46. [13]任明慧.MATLAB中矩形区域约束的突破报[J].湖南文理学院学报.2008,20(3):9-11.[14]苏金明,阮沈勇.MATLAB实用教程[M].北京:电子工业出版社2005.Calculated using MATLAB double integral on certain areasAbstract: This paper studies certain areas on the double integral formula for numerical integration of mathematical software MATLAB structure and constructed to achieve the numerical integration of the calculation, several points through the numerical integration formula given discussion and research, combined with mathematical calculation of integral characteristics of the software MATLAB, will be integral to thepromotion of several numerical integration formula double integral, MATLAB already has double integral calculation of the rectangular area, for the general area, as long as the double integral into a double integration to meet the conditions, you can use double integral some formula, through the development of MATLAB programs, with specific examples from integral formulas of the accuracy of testing, to choose the high precision double integral formula, and use some of the typical double integral formula. Key words: double integral;n interpolation polynomial;integral formula附录1.二重积分梯形公式 MATLAB代码。(Dbquad11.m文件) SF=inline(@fxy); x=a; y=b; c1=c(a); d1=d(a); c2=c(b); d2=d(b);I=(b-a)/2*((d1-c1)*f(ac1)+(d2-c2)*f(bc2)); I附录2.二重积分复化Simpson公式 MATLAB代码。(Dbquad12.m文件) SF=inline(@fxy); x=a; y=b; c1=c(a); d1=d(a);c2=(c(a)+c(b))/2; d2=(d(a)+d(b))/2; c3=c(b); d3=d(b);I1=1/6*(d1-c1)*(f(ac1)+4(f(a(c1+d1)/2)+f(ad1));I2=1/6*(d2-c2)*(f((a+b)/2c2)+4(f((a+b)/2(c2+d2)/2)+f((a+b)/2d2)); I3=1/6*(d3-c3)*(f(bc3)+4(f(b(c3+d3)/2)+f(bd3)); I=1/6*(b-a)*(I1+4I2+I3); I附录3.二重积分复化梯形公式 MATLAB代码。(Dbquad1.m文件)Function I=dbquad1(funabcxdxmn) if nargin&7.n=100;end if nargin&6m=100;end if m&2|n&3mpt=m+1; hx=(b-a)/m; x=a+(0:m)* for i=1:mptylo=feval(cxx(i)); yhi=feval(dxx(i)); hy=(ylo-yhi)/n; y(i:)=ylo+(0:n)*f(i:)=feval(funx(i)y(i:)); g(i)=trapz(y(i:)f(i:)); endI=trapz(xg);附录4.二重积分复化Simpson公式 MATLAB代码。(function I= Dbquad2 (fsimpcdabmn) h=(b-a)/(2*n); I1=0; I2=0; I3=0;for i=0:(2*n) x=a+i*h; dx=feval(dx); cx=feval(cx); dx=d; cx=c; kx=(dx-cx)./(2*m);K1=feval(fsimpxcx)+feval(fsimpxdx); K2=0; K3=0;for j=1:(2*m-1) y=cx+j*z=feval(fsimpxy); if gcd(2j)==2 K2=K2+z; elseK3=K3+z; end endL=(kx/3)*(K1+2*K2+4*K3); if i==0 | i==2*nDbquad2.m文件)I1=I1+L; elseif gcd(2i)==2 I2=I2+L; elseI3=I3+L; end end endI=(h/3).*(I1+2*I2+4*I3);附录5.二重积分龙贝格公式 MATLAB代码。(Romberg.m文件) function I=Romberg %龙贝格积分算法f=input(&#39;被积函数式f(x)=&#39;); a=input(&#39;积分下限a=&#39;); b=input(&#39;积分下限b=&#39;);n=input(&#39;插入外积分区间[ab]的节点数n=&#39;);m=input(&#39;插入内积分区间每个小区间[c(xi)d(xi)]的节点数m=&#39;); yita= input(&#39;误差要求小于yita=&#39;); h=(b-a)/(n-1); R=zeros(11);F(1)=subs(fxa); %先用复化梯形公式求单次积分(1) F(n+1)=subs(fxb); for i=2:nF(i)=subs(fx(a+(i-1)*h)); sum=sum+F(i); endT=(F(1)+2*sum+F(n+1))*h/2;start=subs(fxicx); %再用龙贝格公式求龙贝格序列 bottom=subs(fxidx);R(1x)=(b-a)*(start+bottom)/2; k=0; e=1;while e&yita%检验龙贝格序列的误差 k=k+1 sum=0; h=h/2;for i=1:2^ksum=sum+subs(fxa+(2*i-1)*h) endR(k+11)=sum*h+R(k1)/2; for m=1:k78用MATLAB计算某些区域上的二重积分_二重积分R(k+1m+1)=R(k+1m)+[R(k+1m)-R(km)]/(4^m-1);ende=abs(R(k+1m+1)-R(km));endendR%输出龙贝格公式所求积分值e%输出龙贝格公式积分值误差附录6.二重积分高斯公式 MATLAB代码。(Gauss.m文件)% 此程序包含求任意点高斯积分节点和对应的Gauss的求解系数(同时也编写了Lagrange插值公式)% 并对给定函数用Gauss型求积公式求积分nn=inputdlg({&#39;请输入高斯节点数&#39;&#39;输出数据的有效数字位数&#39;}&#39;Gauss_Legendre 积分公式&#39;1{&#39;5&#39;&#39;6&#39;});n=str2num(char(nn(1)));nnn=str2num(char(nn(2)));F=x^2-1;Pn=diff(F^n&#39;x&#39;n)/(2.^n*gamma(n+1));root=roots(sym2poly(Pn));im_node=sort(root);disp([num2str(n)&#39;点高斯积分节点 &#39; num2str(im_node&#39;nnn)]);for k=1:nLL(k)=end%下面是Lagrange插值公式for k=1:nfor kk=1:nif kk~=kLL(k)=LL(k)*(xx-im_node(kk))/(im_node(k)-im_node(kk)); endendendLL=LL/A=int(LLxx-11);AA=double(vpa(simplify(A)));disp([num2str(n)&#39;点Gauss的求解系数 &#39;num2str(AAnnn)]);%假设积分区间为[a,b]aa=inputdlg({&#39;请输入积分函数下限a&#39;&#39;请输入积分函数上限b&#39;}&#39;Gauss_Legendre 积分公式&#39;1{&#39;0&#39;&#39;1&#39;});a=str2num(char(aa(1)));b=str2num(char(aa(2)));jifen=0;fac=(b-a)/2;suanli=inline(&#39;xy&#39;); %给定的公式,该积分准确值为0.125for k=1:njifen=jifen+fac*A(k)*suanli((a+b)/2+fac*im_node(k));endzhi=vpa(jifen20);zhhi=double(zhi);disp([&#39;积分的真实值为0.125,Gauss_Legendre积分值为&#39;num2str(zhhinnn)])for j=1:m-1F(ij)=subs(fxy(a+i*h)(cx+j*hy));sum0=sum0+F(ij);endendF(ij)=subs(fx(a+(k-0.5)*h));sum1=sum1+F(ij);endI=h*(start+4*sum1+2*sum0+bottom)/6;I附录7.换元法所得二重积分公式MATLAB代码。(dbquad5.m)Function I=dbquad5()%主函数I=dbquad(@Fab01);Function Z=F(xu)%子函数,表示换元后的被积函数C=c(x);D=d(x);Z=(D-C).*f((D-C).*u+c);Function Z=F(xy)%子函数,表示要输入的被积函数Z=inline(@fxy);附录8.拓展积分区域为矩形区域所得二重积分公式MATLAB代码。(dbquad5.m) Function I=dbquad6()%主函数I=dbquad(@Fab01);Function Z=F(x y)%子函数,表示拓展积分区域为矩形区域后的被积函数 C=min(c(x));D=max(d(x));If d(x)&y&=d and c&=x&c(x);F(xy)=0;Function z=f(xy) %子函数,表示待输入的被积函数Sz=inline(@fxy) ;%子函数,表示要输入的被积函数篇二 : 双重积分设二重积分的积分区域D是1=<x^2+y^2=&l双重积分设二重积分的积分区域D是1=&x^2+y^2=&4,求二重积分∫∫&1=&x^2+y^2=&4&dxdy的值。可以化为极坐标,1<=r<=2∫∫<1=<x^2+y^2=dxdy=∫(1,2)∫(0,2π)r^2 rdrdA=2π*r^4/4(2,1)=(16-1)π/2=15π/2
上一篇文章:
下一篇文章:
本文标题:[二重积分的积分区域]78用MATLAB计算某些区域上的二重积分&版权说明
文章标题: 文章地址:
1、《[二重积分的积分区域]78用MATLAB计算某些区域上的二重积分》一文由262阅读网()网友提供,版权归原作者本人所有,转载请注明出处!
2、转载或引用本网内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本网内容原意进行曲解、修改,同时必须保留本网注明的"稿件来源",并自负版权等法律责任。
3、对于不当转载或引用本网内容而引起的民事纷争、行政处理或其他损失,本网不承担责任。

我要回帖

更多关于 要得出一个球体的面积 的文章

 

随机推荐