你的积分都计算对了吗?各类积分图形区域绘制与积分计算及结果的快速检验方法
在学习重积分、曲线、曲面积分的过程中,我们知道,对于它们的计算一般都是转换为累次积分(定积分)的描述形式,然后逐步计算定积分来得到结果的;而且,在一般的数学软件中,当希望借助计算机来计算这些积分,或验证这些积分的计算思路及结果是否正确性时,一般也是首先构建这些积分的累次积分表达式,然后逐步定积分来得到!这样的过程不仅要求对描述积分区域的图形非常熟悉,而且还需要给出积分区域的不等式描述形式;尤其对于一些复杂的积分区域,可能还需要基于积分对积分区域的可加性来分割积分区域,通过子区域的不等式描述形式构建累次积分表达式,分成多个积分求和来完成验证过程.
既然借助于数学软件来验证思路与结果,当然希望是操作简单、方便、快捷、有效的. 那么有没有这么好的软件能够不通过构建累次积分表达式的方式,直接计算积分得到结果,来计算或验证多元函数积分的思路与结果的正确性呢?数学软件Mathematica提供了一种快捷、有效的计算操作方法. 该方法通过构建区域,将积分范围直接约束在定义的区域范围内,不需要构建累次积分表达式直接实现多元函数积分的计算.区域的构建与几何描述
Mathematica使用的Wolfram 语言提供了创建、分析、求解和可视化区域的全面功能. 区域的描述常用方法两种,一种是直接图元法,一种是函数命令描述法,另外就是区域之间的运算更快构建复杂区域.直接图元描述就是借助Mathematica中的图元构建函数命令来描述积分范围. 在积分中常用的描述有Line(线)、Circle(圆、椭圆)、Triangle(三角形域)、Rectangle(矩形域)、Polygon(多边形域)、Disk(圆域、椭圆域)、Sphere(球面)、Ball(球体)、Cylinder(圆柱体)、Cone(圆锥体)、Tetrahedron(四面体)、Cuboid(立方体)等等,都是完整的英文单词,更多图元对象的创建可以参见帮助指南中的“基本几何区域”列表.以上图元命令积分范围的创建直接与绘制图形一样,并且其描述的图形对象对于二维图形可以直接用Graphics显示,三维图形可以直接用Graphics3D显示.例1:绘制圆心在,半径为,圆心角为的四分之一圆周与顶点坐标为, , , 的四面体图形.A=Circle[{1,1},2,{0,Pi/2}];
B=Tetrahedron[{{1,0,0},{1,0,1},{1,1,1},{0,0,1}}];
{Graphics[A],Graphics3D[B]}
【注】对于显示不完整的Mathematica表达式或数学公式,请在上面左右滑动查看不完整内容!
除了以上特殊图元的方法构建区域,基于区域的等式、不等式及参数方程描述,Mathematica也可以快速创建复杂区域,常用的函数命令为ImplicitRegion:描述由不等式和等式给出的区域ParametricRegion:描述由参数化函数给出的区域DiscretizeRegion:离散化显示区域范围例2:分别构建不等式和,,,描述的区域,并显示其图形.A=ImplicitRegion[1<=x^2+y^2<=4,{x,y}];
B=ImplicitRegion[4<=x^2+y^2+z^2<=9&&x>=0&&y>=0&&z>=0,{x,y,z}];
{Region[A],Region[B]}
例3:分别构建底面半径为,高为的圆锥面所描述的曲面区域和A=ParametricRegion[{h Cos[t],h Sin[t],h},{{t,0,2Pi},{h,0,3}}];
B=ImplicitRegion[x^2+y^2+z^2==1&&x+y+z==0,{x,y,z}];
{Region[A],Region[B]}
区域组合与几何度量值的计算
Mathematica中创建的区域还可以进行区域间的运算,并直接计算区域的几何的度量值(长度、面积、体积、几何中心等),即在区域上的积分对应的几何意义所得到的一些数值. 具体的操作命令包括:(1) 区域间的运算:RegionBoundary(获取区域的边界)、RegionUnion(区域并)、Region Intersection(区域交)、Region Difference(区域差)等.(2) 几何度量值:ArcLength(弧线长度)、Area(区域(表)面积)、Volume(立体的体积)、Perimeter(平面区域的周长)、RegionCentroid(几何中心,形心)、RegionMeasure(自动根据区域类型给出度量值,分别为计数(零维,点集),长度(一维),面积(二维),体积(三维)和勒贝格测度)等.例4:定义底面中心点在原点,半径为3,顶点为(0,0,3)的圆锥体区域,并计算它的体积、表面积与形心.A=Cone[{{0,0,0},{0,0,3}},3];
B=RegionBoundary[A];
{Volume[A],Area[B],RegionCentroid[A]}
其中Volume和Area也可以替换为RegionMeasure,Mathematica会自动根据区域类型得到相应的立体的体积和表面的面积.采用区域交运算操作定义曲线围成区域并计算面积,输入的Mathematica表达式为:A=RegionIntersection[ImplicitRegion[y^2<=2x,{x,y}],ImplicitRegion[y>=x-4,{x,y}]]
Area[A]
即区域定义运算的结果的等价区域描述形式,并显示曲线所围平面区域面积为18.四多元函数积分的计算
下面以实例的形式给出Mathematica中直接以区域范围方式直接计算多元函数的积分.A=ImplicitRegion[0<=y<=Sqrt[2a x-x^2]&& 0<=x<=2a,{x,y}];
Assuming[a>0,Integrate[Sqrt[4a^2-x^2-y^2],{x,y}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:A=ImplicitRegion[x^2+y^2+(z-a)^2<=a^2&& x^2+y^2<=z^2,{x,y,z}];
Assuming[a>0,Integrate[z,{x,y,z}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:例8:(对弧长的曲线积分)计算曲线积分,其中为螺旋线,,上相应于从到的一段曲线.A=ParametricRegion[{Cos[t],Sin[t],2t},{{t,0,2Pi}}];
Integrate[x^2+y^2+z^2,{x,y,z}\[Element]A]
例9:(对弧长的曲线积分)设为在第一卦限与三个坐标面的交线,求其形心.输入以下Mathematica表达式定义积分曲线:
ImplicitRegion[x^2+y^2+z^2==R^2&&x==0&&y>=0&&z>=0,{x,y,z}];
ImplicitRegion[x^2+y^2+z^2==R^2&&y==0&&x>=0&&z>=0,{x,y,z}];
ImplicitRegion[x^2+y^2+z^2==R^2&&z==0&&y>=0&&x>=0,{x,y,z}];
A=RegionUnion[%,%%,%%%];
【思路一】直接计算形心的Mathematica表达式为Assuming[R>0,RegionCentroid[A]]
【思路二】利用形心积分公式计算形心的x分量的表达式为执行区域定义表达式和后面的形心计算公式,可得得到形心坐标为例10:(对坐标的曲线积分)(1) 设为圆周(取逆时钟方向),计算(2)设为椭圆,,若从轴正向看,椭圆方向取为逆时钟方向,计算Mathematica直接在区域上积分为直接关于积分范围的测度值微分(几何度量值)积分,即线为对弧长的积分、面为对面积的积分、体为三重积分,所以需要将对坐标的曲线积分利用两类曲线积分的关系转换为对弧长的曲线积分计算,即
其中为与曲线同向的单位切向量,面上的曲线积分去掉第三个分量即可.对于由参数方程描述的曲线可以直接转换为定积分计算,所以这里主要考虑由一般式方程描述的曲线. 它们的切向量由曲线,或曲面的法向量可以直接得到.其中切向量的取向根据曲线的方向来确定,同时考虑法向量的取向. s={-2y,2x};
A=ImplicitRegion[x^2+y^2==a^2,{x,y}];
Assuming[a>0,Integrate[{(x+y)/(x^2+y^2),-((x-y)/(x^2+y^2))}.(s/Norm[s]),{x,y}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:(2) 与曲线同向的曲线切向量为圆锥面与平面的法向量的叉积,即s=Cross[{1/a,0,1/b},{2x,2y,0}];
A=ImplicitRegion[x^2+y^2==a^2&&x/a+z/b==1,{x,y,z}];
Assuming[a>0&&b>0,Integrate[{y-z,z-x,x-y}.(s/Norm[s]),{x,y,z}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:例11:(对面积的曲面积分)计算曲面积分,其中为锥面被柱面所截取的有限部分.A=ImplicitRegion[z==Sqrt[x^2+y^2]&&x^2+y^2<=2a x,{x,y,z}];
Assuming[a>0,Integrate[x y+y z+z x,{x,y,z}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:例12:(对坐标的曲面积分)计算,其中为柱面被平面,截下的部分,法向量指向上侧.n=Grad[y^2+z^2-1,{x,y,z}];
f={0,y z,z^2}.(n/Norm[n]);
A=ImplicitRegion[y^2+z^2==1&&z>=0&&0<=x<=1,{x,y,z}];
Integrate[f,{x,y,z}\[Element]A]
Mathematica表达式的传统二维输入格式如下:A=ImplicitRegion[x+y<=t,{x,y}];
Integrate[If[0<=x<=1&&0<=y<=1,2x,0],{x,y}\[Element]A]
A=ImplicitRegion[-a<=x<=a&&-b<=y<=b,{x,y}];
Assuming[a>0&&b>0,Integrate[E^Max[b^2 x^2,a^2 y^2],{x,y}\[Element]A]]
Mathematica表达式的传统二维输入格式如下:例15:(取整函数的积分)符号表示小于等于的最大整数,计算二重积分,其中A=ImplicitRegion[-2<=x<=2&&x^2<=y<=4,{x,y}];
Integrate[Sqrt[Floor[y-x^2]],{x,y}\[Element]A]
Mathematica表达式的传统二维输入格式如下:A=ImplicitRegion[x^2+y^2<=4,{x,y}];
Integrate[Sign[x^2-y^2+2],{x,y}\[Element]A]
Mathematica表达式的传统二维输入格式如下:【注1】对于不定积分、定积分,直接用Integrate命令计算即可,其计算格式为:计算不定积分:Integrate[f,x],关于x变量的函数f积分,得到一个原函数计算定积分:Integrate[f,{x,a,b}],关于x变量在区间[a,b]上积分,b可以是正无穷大,Infinity;a可以是负无穷大,-Infinity.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。