在学习重积分、曲线、曲面积分的过程中,我们知道,对于它们的计算一般都是转换为累次积分(定积分)的描述形式,然后逐步计算定积分来得到结果的;而且,在一般的数学软件中,当希望借助计算机来计算这些积分,或验证这些积分的计算思路及结果是否正确性时,一般也是首先构建这些积分的累次积分表达式,然后逐步定积分来得到!这样的过程不仅要求对描述积分区域的图形非常熟悉,而且还需要给出积分区域的不等式描述形式;尤其对于一些复杂的积分区域,可能还需要基于积分对积分区域的可加性来分割积分区域,通过子区域的不等式描述形式构建累次积分表达式,分成多个积分求和来完成验证过程.
既然借助于数学软件来验证思路与结果,当然希望是操作简单、方便、快捷、有效的. 那么有没有这么好的软件能够不通过构建累次积分表达式的方式,直接计算积分得到结果,来计算或验证多元函数积分的思路与结果的正确性呢?数学软件Mathematica提供了一种快捷、有效的计算操作方法. 该方法通过构建区域,将积分范围直接约束在定义的区域范围内,不需要构建累次积分表达式直接实现多元函数积分的计算.
区域的构建与几何描述
Mathematica使用的Wolfram 语言提供了创建、分析、求解和可视化区域的全面功能. 区域的描述常用方法两种,一种是直接图元法,一种是函数命令描述法,另外就是区域之间的运算更快构建复杂区域.
1、直接图元描述法
直接图元描述就是借助Mathematica中的图元构建函数命令来描述积分范围. 在积分中常用的描述有Line(线)、Circle(圆、椭圆)、Triangle(三角形域)、Rectangle(矩形域)、Polygon(多边形域)、Disk(圆域、椭圆域)、Sphere(球面)、Ball(球体)、Cylinder(圆柱体)、Cone(圆锥体)、Tetrahedron(四面体)、Cuboid(立方体)等等,都是完整的英文单词,更多图元对象的创建可以参见帮助指南中的“基本几何区域”列表.
以上图元命令积分范围的创建直接与绘制图形一样,并且其描述的图形对象对于二维图形可以直接用Graphics显示,三维图形可以直接用Graphics3D显示.
例1: 绘制圆心在 ,半径为 ,圆心角为 的四分之一圆周与顶点坐标为 , , , 的四面体图形.
在 Mathematica 中输入表达式:
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]}
执行后的结果如图 1 所示 .
图1
【注】对于显示不完整的Mathematica表达式或数学公式,请在上面左右滑动查看不完整内容!
2、函数命令描述法
除了以上特殊图元的方法构建区域,基于区域的等式、不等式及参数方程描述,Mathematica也可以快速创建复杂区域,常用的函数命令为
ImplicitRegion:描述由不等式和等式给出的区域
ParametricRegion:描述由参数化函数给出的区域
Region:显示区域描述的图形
DiscretizeRegion:离散化显示区域范围
例2: 分别构建不等式 和 , , , 描述的区域,并显示其图形 .
在Mathematica中输入表达式:
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]}
执行后的结果如图 2 所示 .
图2
例3: 分别构建底面半径为 ,高为 的圆锥面所描述的曲面区域和
所确定的空间曲线范围,并显示它们的图形.
在Mathematica中输入表达式:
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]}
执行后的结果如图 3 所示 .
图3
区域组合与几何度量值的计算
Mathematica中创建的区域还可以进行区域间的运算,并直接计算区域的几何的度量值(长度、面积、体积、几何中心等),即在区域上的积分对应的几何意义所得到的一些数值. 具体的操作命令包括:
(1) 区域间的运算:RegionBoundary(获取区域的边界)、RegionUnion(区域并)、Region Intersection(区域交)、Region Difference(区域差)等.
(2) 几何度量值:ArcLength(弧线长度)、Area(区域(表)面积)、Volume(立体的体积)、Perimeter(平面区域的周长)、RegionCentroid(几何中心,形心)、RegionMeasure(自动根据区域类型给出度量值,分别为计数(零维,点集),长度(一维),面积(二维),体积(三维)和勒贝格测度)等.
例4:定义底面中心点在原点,半径为3,顶点为(0,0,3)的圆锥体区域,并计算它的体积、表面积与形心.
在Mathematica中输入表达式:
A=Cone[{{0,0,0},{0,0,3}},3];
B=RegionBoundary[A];
{Volume[A],Area[B],RegionCentroid[A]}
执行后的结果为
其中Volume和Area也可以替换为RegionMeasure,Mathematica会自动根据区域类型得到相应的立体的体积和表面的面积.
例5: 计算抛物线 与直线 所围成的图形的面积 .
采用区域交运算操作定义曲线围成区域并计算面积,输入的Mathematica表达式为:
A=RegionIntersection[ImplicitRegion[y^2<=2x,{x,y}],ImplicitRegion[y>=x-4,{x,y}]]
Area[A]
执行后的显示的结果为
即区域定义运算的结果的等价区域描述形式,并显示曲线所围平面区域面积为18.
四多元函数积分的计算
下面以实例的形式给出Mathematica中直接以区域范围方式直接计算多元函数的积分.
例6:(二重积分)计算二重积分
,
其中 为半圆周 及 轴所围成的闭区域.
输入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表达式的传统二维输入格式如下:
执行后显示结果为
例7:(三重积分)设闭区域 由不等式
,
所确定, 计算三重积分
输入 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:(对弧长的曲线积分)计算曲线积分 ,其中 为螺旋线 , , 上相应于 从 到 的一段曲线.
输入Mathematica表达式为
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分量的表达式为
0,Integrate[x,\{ x,y,z\} }} \in {\rm{A]]}}} \over {{\rm{Assuming[R > 0,Integrate[1,\{ x,y,z\} }} \in {\rm{A]]}}}} " data-formula-type="block-equation">
执行区域定义表达式和后面的形心计算公式,可得得到形心坐标为
例10:(对坐标的曲线积分)(1) 设 为圆周 (取逆时钟方向),计算
(2)设 为椭圆 , ,若从 轴正向看,椭圆方向取为逆时钟方向,计算
Mathematica直接在区域上积分为直接关于积分范围的测度值微分(几何度量值)积分,即线为对弧长的积分、面为对面积的积分、体为三重积分,所以需要将对坐标的曲线积分利用两类曲线积分的关系转换为对弧长的曲线积分计算,即
其中 为与曲线同向的单位切向量, 面上的曲线积分去掉第三个分量即可.
对于由参数方程描述的曲线可以直接转换为定积分计算,所以这里主要考虑由一般式方程描述的曲线. 它们的切向量由曲线,或曲面的法向量可以直接得到.
平面曲线为 :
法向量:
切向量:
空间曲线为
的切向量:
其中切向量的取向根据曲线的方向来确定,同时考虑法向量的取向.
(1) 与曲线同向的切向量
所以 . 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) 与曲线同向的曲线切向量为圆锥面与平面的法向量的叉积,即
所以
Mathematica 中输入表达式为
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:(对面积的曲面积分)计算曲面积分 ,其中 为锥面 被柱面 所截取的有限部分.
Mathematica中输入表达式为
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:(对坐标的曲面积分)计算 ,其中 为柱面 被平面 , 截下的部分,法向量指向上侧.
曲面指向上侧的法向量为
输入的 Mathematica 表达式为
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表达式的传统二维输入格式如下:
执行计算后的积分结果为2.
例13:(分段函数的积分)设
求 的表达式.
输入的Mathematica表达式:
A=ImplicitRegion[x+y<=t,{x,y}];
Integrate[If[0<=x<=1&&0<=y<=1,2x,0],{x,y}\[Element]A]
执行后结果为
2} \hfill \cr {{{{t^3}} \over 3}} \hfill & {0 < t \le 1} \hfill \cr {{1 \over 3}\left( { - 1 + 3{t^2} - {t^3}} \right)} \hfill & {1 < t \le 2} \hfill \cr 0 \hfill & {{\rm{ }}True{\rm{ }}} \hfill \cr } } \right." data-formula-type="block-equation">
例14:(最值函数的积分)
计算积分 , 积分区域为
输入的 Mathematica 表达式:
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:(取整函数的积分)符号 表示小于等于 的最大整数,计算二重积分 ,其中
输入的 Mathematica 表达式:
A=ImplicitRegion[-2<=x<=2&&x^2<=y<=4,{x,y}];
Integrate[Sqrt[Floor[y-x^2]],{x,y}\[Element]A]
Mathematica表达式的传统二维输入格式如下:
执行后结果为
例16:(符号函数的积分)设 ,计算积分
输入的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.
【注2】以上完整Mathematica表达式源代码文件获取方式:公众号会话框回复“pxwz”获取下载链接直接下载,或者进入QQ群一群(群号:174869600)文件分享的微信推文文件夹下载!
结束语
本文通过实例的方式,对数学软件中如何定义积分区域直接计算多元函数积分的思路、方法和具体操作进行了详细的分析与探讨. 从应用范例中可以直观看到,这种计算多元积分的方法对于日常积分计算思路、方法与结果正确与否的验证提供了一个非常方便、快捷、有效的方式.
不过值得注意的是,对于重积分、对弧长的曲线积分和对面积的曲面积分,既使积分范围不具有统一的描述形式,一般也可以直接通过多个区域的定义来一次性积分得到结果;但是,对于对坐标的曲线积分和对坐标的曲面积分,对不具有统一数学描述形式的积分曲线或曲面,由于切向量与法向量计算使用的方程不同,可能需要基于积分对积分曲线或曲面的可加性,通过分割积分范围单独计算子范围上的积分并求和来实现. 同时,并不是所有的积分的计算都可以通过这种方式来计算得到结果,对于一些复杂的积分可能需要事先进行一定的数学处理,如被积函数的变换,积分类型的转换等操作以后才能完成计算. 也就是说,要想让计算机正确高效的帮助我们解决问题,一定的数学基础和必要的数学能力必不可少.
参考文献:
[1]同济大学数学系.高等数学(第七版下册)[M].北京:高等教育出版社,2014.
[2]李建平,朱健民.高等数学(第二版下册)[M].北京:高等教育出版社,2015.
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.