用Mathematica实现各类积分图形区域绘制与积分计算及结果的快速检验方法(一)

各类积分图形区域绘制与积分计算及结果的快速检验方法

 

在学习重积分、曲线、曲面积分的过程中,我们知道,对于它们的计算一般都是转换为累次积分(定积分)的描述形式,然后逐步计算定积分来得到结果的;而且,在一般的数学软件中,当希望借助计算机来计算这些积分,或验证这些积分的计算思路及结果是否正确性时,一般也是首先构建这些积分的累次积分表达式,然后逐步定积分来得到!这样的过程不仅要求对描述积分区域的图形非常熟悉,而且还需要给出积分区域的不等式描述形式;尤其对于一些复杂的积分区域,可能还需要基于积分对积分区域的可加性来分割积分区域,通过子区域的不等式描述形式构建累次积分表达式,分成多个积分求和来完成验证过程.

既然借助于数学软件来验证思路与结果,当然希望是操作简单、方便、快捷、有效的.  那么有没有这么好的软件能够不通过构建累次积分表达式的方式,直接计算积分得到结果,来计算或验证多元函数积分的思路与结果的正确性呢?数学软件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表达式的传统二维输入格式如下:

执行后的三重积分计算结果为

输入Mathematica表达式为 ​​​​​​​

A=ParametricRegion[{Cos[t],Sin[t],2t},{{t,0,2Pi}}];
Integrate[x^2+y^2+z^2,{x,y,z}\[Element]A]

执行后计算得到结果为,即

 

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表达式为  

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表达式的传统二维输入格式如下:

执行后计算得到的积分结果为

输入的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.

【注1】对于不定积分、定积分,直接用Integrate命令计算即可,其计算格式为:

计算不定积分:Integrate[f,x],关于x变量的函数f积分,得到一个原函数

计算定积分:Integrate[f,{x,a,b}],关于x变量在区间[a,b]上积分,b可以是正无穷大,Infinity;a可以是负无穷大,-Infinity.

 

结束语

本文通过实例的方式,对数学软件中如何定义积分区域直接计算多元函数积分的思路、方法和具体操作进行了详细的分析与探讨. 从应用范例中可以直观看到,这种计算多元积分的方法对于日常积分计算思路、方法与结果正确与否的验证提供了一个非常方便、快捷、有效的方式.

不过值得注意的是,对于重积分、对弧长的曲线积分和对面积的曲面积分,既使积分范围不具有统一的描述形式,一般也可以直接通过多个区域的定义来一次性积分得到结果;但是,对于对坐标的曲线积分和对坐标的曲面积分,对不具有统一数学描述形式的积分曲线或曲面,由于切向量与法向量计算使用的方程不同,可能需要基于积分对积分曲线或曲面的可加性,通过分割积分范围单独计算子范围上的积分并求和来实现. 同时,并不是所有的积分的计算都可以通过这种方式来计算得到结果,对于一些复杂的积分可能需要事先进行一定的数学处理,如被积函数的变换,积分类型的转换等操作以后才能完成计算. 也就是说,要想让计算机正确高效的帮助我们解决问题,一定的数学基础和必要的数学能力必不可少.

  • 13
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值