《多重积分的MATLAB实现》由会员分享,可在线阅读,更多相关《多重积分的MATLAB实现(3页珍藏版)》请在金锄头文库上搜索。
1、Mg 分析实验二 实验二实验二 多重积分多重积分 目的和要求目的和要求 1. 学习 MATLAB 软件中与二重积分和三重积分相关的命令与编程 2. 利用 MATLAB 软件计算二重积分和三重积分 预备知识预备知识 1. 符号积分 利用 int 命令进行二重积分、三重积分计算。 格式:int(int(f, y,y1(x),y2(x),x,a,b) int(int(int(f,z,z1(x,y),z2(x,y),y,y1(x),y2(x),x,a,b) 2. 数值积分 二重数值积分的指令:dblquad(fun,xmin,xmax,ymin,ymax) 三重 ( 闭型 ) 数值 积 分 指 令 :
2、 triplequad(fun,xmin,xmax,ymin, ymax,zmin,zmax)或用三个 quadl 函数 实验内容实验内容 1. 1. 1. 1. 二重积分的计算二重积分的计算 例例 1 1计算二重积分,其中是由直线及 + D dxdyxyx)( 22 Dxyy= , 2xy2= 所围成的闭区域 解解该二重积分可以化为二次积分,输入命令 + y y dxxyxdy 2 22 2 0 )( int(int(x2+y2-x,x,y/2,y),y,0,2) 得结果 ans= 13/6 例例 2 2计算积分 = y dx x x dyI sin 2 解解输入命令 int(int(sin
3、(x)/x,x,y-pi,pi),y,pi,2*pi) 得结果 ans = Mg 分析实验二 若不借助于计算机计算,需要交换积分次序 例例 3求 + + 1 22 22 )(sin( yx dxdyyx 解解积分区域用不等式可以表示成,二重积分可 22 11, 11xyxx 化为二次积分,输入命令 + 2 2 1 1 22 1 1 )(sin( x x dyyxdx int(int(sin(pi*(x2+y2),y,-sqrt(1-x2),sqrt(1-x2),x,-1,1)int(int(sin(pi*(x2+y2),y,-sqrt(1-x2),sqrt(1-x2),x,-1,1) 由输出结
4、果可以看出,结果中仍带有 intint,表明 matlabmatlab求不出这一积分的值.采用极坐标 可化为二次积分,输入命令 2 0 1 0 2) sin(drrrda intint( (intint( (r*sinr*sin( (pi*rpi*r 2),r2),r, ,0 0, ,1 1),),a a, ,0 0,2*pi),2*pi) 可得结果为 ans=ans=2.2. 注:二重积分也可以先进行符号运算,再得到数值解。 例例 4 4 4 4,其中。 R ydxdy x21 , 10|),(=yxyxR syms x y;%定义两个符号变量 a=int(int(xy,x,0,1),y,1
5、,2)%积分 a= log(3)-log(2) b=simple(a)%化简 b = log(3/2) c=vpa(b,4)%得到近似解 c= 0.4055 例例 5 5 5 5 (P365 1.(1)) fun=inline(x.3+3.*x.2.*y+y.3,x,y); dblquad(fun,0,1,0,1) ans = 1.0000 例例 6 6 6 6 (P365 1.(2)) fun=inline(sin(x+y),x,y); dblquad(fun,0,pi/2,0,pi/2) ans = 2.0000 例例 7 7 7 7 (P365 1.(3)) fun=inline(x+y
6、).*exp(x+y),x,y); dblquad(fun,0,1,2,4) ans = Mg 分析实验二 315.9576 2. 2. 2. 2. 三重积分的计算三重积分的计算 例例 8 8 计算三重积分 + = 1 0 1 0 1 0 3 )1 ( xyx zyx dz dydxI 解解 输入命令 int(int(int(1/(1+x+y+z)3,z,0,1-x-y),y,0,1-x),x,0,1) 得结果 ans =-5/16+1/2*log(2) 例例 9 9计算三重积分,为球面及三个坐标面所围成 xyzdxdydz1 222 =+zyx 的在第一卦限内的区域 解该三重积分可化为累次积
7、分输入命令 1 0 1 0 1 0 222 xyx xyzdzdydx int(int(int(x*y*z,z,0,sqrt(1-x2-y2),y,0,sqrt(1-x2),x,0,1) 得结果 ans =1/48 例例 10101010 (P383 1.(1)),其中由曲面与平面, V dxdydzzxy 22 Vxyz=xy=1=x 所围成。0=z quadl(x) arrayfun(xx) quadl(y) arrayfun(yy) quadl(z) xx.*yy.*z,xx*yy,2*xx*yy),y),xx,2*xx),x),1,2) ans = 179.2969 quadl(x)
8、arrayfun(xx) quadl(y) arrayfun(yy) quadl(z) xx.*yy.*z,xx*yy,2*xx*yy),y),xx,2*xx),x),1,2) ans = 179.2969 注:注:1 课本上的三重积分都可以用这种方法计算:将三重积分化成三次积分然后用三次 quadl即 可 , 其 用 法 为 : quadl(x)arrayfun(xx)quadl(y) arrayfun(yy) quadl(被积函数 f(xx,yy,z)关于 z 变量的函数句柄,z 积分下限 z1(xx,yy),z 积 分 上 限 z2(xx,yy),y),y 积 分 下 限 y1(xx),y 积 分 上 限 y2(xx),x),x积分下限值,x 积分上限值) 2.练习.P3833.(2) 4.(1)、 (2).