本文操作实现环境为数学软件Mathematica实验环境和WolframAlpha计算搜索引擎,软件的使用和计算搜索引擎的使用方法参见文后的推荐阅读列表.
一、不定积分
积分命令使用格式:
Integrate[f[x],x]
对函数关于变量求一个原函数,其余符号都视为常数,不定积分结果要加任意常数.
例:计算.
Mathematica直观输入表达式及执行结果为:
以上第一种方式为借助符号输入面板输入,第二种方式为快捷键输入方式输入,后面一般使用第二种方式直接输入计算。输入完成后按下主键盘取区的【Shift】+【Enter】键执行计算即可得到结果.
表达式文本直接输入格式的表达式为:
Integrate[(x+a y)/(x^2+y^2),x]
二、定积分与反常积分
积分命令使用格式:
Integrate[f[x],{x,xmin,xmax}]
对函数关于变量求定积分,其余符号都视为常数. 积分可以为反常积分,当积分上下限为正负无穷大时,可以直接输入英文单词无穷大,比如可以输入为Infinity
, 为-Infinity
表示,也可以用快捷键“[Infinity]
”直接输入无穷大符号.
例:计算和
Mathematica直观输入表达式及执行结果为:
表达式文本直接输入格式的表达式为:
Integrate[x Cos[x]^5,{x,0,Pi}]
Integrate[x E^-x^2,{x,1,Infinity}]
三、多元函数积分的累次积分计算
积分命令使用格式:
Integrate[f[x1,x2,…,xn],{x1,x1min,x1max},{x2,x2min,x2max}…, {xn,xnmin,xnmax}]
计算元函数的重累次积分,其中xk的上下限为前面x1到x(k-1)变量的函数表达式或常数.
例:计算累次积分 和
Mathematica直观输入表达式及执行结果为:
表达式文本直接输入格式的表达式为:
Integrate[1/(y Log[x]),{y,1,5},{x,y,5}]
Integrate[(1-y)E^-(1-y-z)^2,{x,0,1},{y,0,1-x},{z,0,1-x-y}]
如果多元函数的积分能够构建累次积分表达式,则直接应用以上积分方法可以计算得到积分结果.
【注1】 对于以上积分,如果被积函数中包含有参数,虽然Mathematica会自动讨论参数范围得到计算结果,但是计算时间一般比较长,有时候甚至得不到需要的结果,如果能够计算得到结果,对于咱们对参数的理解很有参考价值。为了提高效率,如果咱们知道参数范围,则可以直接添加参数范围约束计算条件. 应用的命令为Assuming
,或选项为Assumptions
.
例:(1) 计算积分,其中
(2) 设计算以上积分.
Mathematica直观输入表达式及执行结果为:
表达式文本直接输入格式的表达式为:
Integrate[(x^2+y^2)Boole[x^2+y^2<=a],{x,0,1},{y,0,1}]
Integrate[(x^2+y^2)Boole[x^2+y^2<=a],{x,0,1},{y,0,1},Assumptions->0<a<=1]
Assuming[0<a<=1,Integrate[(x^2+y^2)Boole[x^2+y^2<=a],{x,0,1},{y,0,1}]]
【注2】 对于以上三种类型的积分,即不定积分、定积分与累次积分,不仅仅Mathematica中容易计算,也可以直接使用以上给出的文本格式输入的表达式直接在WolframAlpha计算搜索引擎中完成计算,或者在手机版本的WolframAlpha APP中输入执行计算(WolframAlpha手机版APP可以在咱号配套的QQ一群内下载,或者网上搜索下载)直接计算得到积分结果. 手机版的WolframAlpha与网页版的计算搜索引擎使用格式一样!另外,对于收费版的WolframAlpha计算搜索引擎还可以查看具体的积分步骤. 直接在浏览器中输入网址:
https://www.wolframalpha.com
比如最后一个积分输入及结果为:
四、积分区域的函数命令描述法
基于区域的等式、不等式及参数方程描述,Mathematica也可以快速创建复杂的积分范围图形描述形式,这样就不需要构建积分的累次积分表达式,可以通过将积分变量直接限制在图形区域范围来计算积分得到结果。
积分范围常用的函数命令及使用格式为
ImplicitRegion[不等式或等式表达式,{x1,x2,…,xn}]
描述由变量x1, …,xn描述的不等式或等式给出的区域范围,多个不等式、等式用且符号“&&
”连接.
ParametricRegion[{f1,f2, …,fn},{x1,x2,…,xn}]
描述由参变量x1, …,xn描述的多个函数表达式给出的区域范围.
【注】 对于以上方式构建的图形区域的图形,通过Region[g]
或DiscretizeRegion[g]
可以将g
的范围用图形显示出来,对于不等式描述的图形区域也可以用RegionPlot
,或者RegionPlot3D
显示,并设置参数改变显示效果.
例:构建由方程, 描述的曲线范围,
并将其与圆锥面放置在一个图形区域内显示.
Mathematica直观输入表达式及执行结果为:
表达式文本直接输入格式的表达式为:
A=ImplicitRegion[x^2+y^2==z^2&&x+y==2 z-1,{x,y,z}];
cone=ContourPlot3D[x^2+y^2==z^2,{x,-3,3},{y,-3,3},{z,-3,3},Mesh->None,ContourStyle->Opacity[0.2]];
Show[{cone,DiscretizeRegion[A,MeshCellHighlight->Red]}]
例:绘制立体半心形表面与实心半心形图形.
Mathematica直观输入表达式及执行结果为:
五、区域组合与几何度量值的计算
Mathematica中创建的区域还可以进行区域间的运算并直接计算区域的几何的度量值(长度、面积、体积、几何中心等),即在区域上的积分对应的几何意义所得到的一些数值。具体的操作命令包括:
区域间的运算:RegionBoundary(获取区域的边界)、RegionUnion(区域并)、RegionIntersection(区域交)、RegionDifference(区域差)等.
几何度量值:ArcLength(弧线长度)、Area(区域(表)面积)、Volume(立体的体积)、Perimeter(平面区域的周长)、RegionCentroid(几何中心,形心)、RegionMeasure(自动根据区域类型给出度量值,分别为计数(零维,点集),长度(一维),面积(二维),体积(三维)和勒贝格测度)等。
例:定义中心轴从点到,半径为1的圆柱体和球心分别在、 、半径都为1的两个球体区域,组合显示三个区域图形;通过区域运算得到三个区域的并和圆柱体减去两个球体的区域,并计算组合得到的区域的体积.
在Mathematica中输入表达式:
A = Cylinder[{{0, 0, 0}, {2, 0, 0}}, 1];
B1 = Ball[{0, 0, 0}, 1];
B2 = Ball[{2, 0, 0}, 1];
Graphics3D[{B1, B2, Opacity[0.9], A}]
capsule1 = RegionUnion[A, B1, B2];
capsule2 = RegionDifference[RegionDifference[A, B1], B2];
{Volume[capsule1], Volume[capsule2]}
执行后的结果显示如图所示
并获得两个区域的体积为,即并为圆柱体的体积和两个半球的体积之和,差为圆柱体的体积减去两个半球体的体积.
例:定义底面中心点在原点,半径为3,顶点为的圆锥体区域,并计算它的体积、表面积与形心.
在Mathematica中输入表达式:
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[x^2+y^2<=R^2&&x^2+z^2<=R^2&&R>0,{x,y,z}];
B1=ImplicitRegion[x^2+y^2<=R^2&&x^2+z^2==R^2&&R>0,{x,y,z}];
B2=ImplicitRegion[x^2+y^2==R^2&&x^2+z^2<=R^2&&R>0,{x,y,z}];
B=RegionUnion[B1,B2];
{Volume[A],Area[B]}
执行后的显示的结果为
六、多元函数积分的计算
下面以实例的形式给出Mathematica中直接以区域范围方式直接计算多元函数的积分。
例(二重积分) 计算二重积分
Mathematica直接在区域上积分为直接关于积分范围的测度值微分(几何度量值)积分,即线为对弧长的积分、面为对面积的积分、体为三重积分,所以需要将对坐标的曲线积分利用两类曲线积分的关系转换为对弧长的曲线积分计算,即
以上对数学软件Mathematica中如何定义积分区域直接计算多元函数积分的思路、方法和具体操作进行了详细的分析与探讨。从应用范例中可以直观看到,这种计算多元积分的方法对于日常积分计算思路、方法与结果正确与否的验证提供了一个非常方便、快捷、有效的方式。
不过值得注意的是,对于重积分、对弧长的曲线积分和对面积的曲面积分,既使积分范围不具有统一的描述形式,一般也可以直接通过多个区域的定义来一次性积分得到结果;但是,对于对坐标的曲线积分和对坐标的曲面积分,对不具有统一数学描述形式的积分曲线或曲面,由于切向量与法向量计算使用的方程不同,可能需要基于积分对积分曲线或曲面的可加性,通过分割积分范围单独计算子范围上的积分并求和来实现。同时,并不是所有的积分的计算都可以通过这种方式来计算得到结果,对于一些复杂的积分可能需要事先进行一定的数学处理,如被积函数的变换,积分类型的转换等操作以后才能完成计算。也就是说,要想让计算机正确高效的帮助我们解决问题,一定的数学基础和必要的数学能力必不可少。
另外,在Mathematica中除了可以直接在区域范围上计算积分之外,区域也可以直接作为求解方程、最优化、求解偏微分方程的约束条件直接计算需要的结果。更多操作可以参见Mathematica的帮助文件相应的主题,欢迎Mathematica爱好者投稿交流软件使用和应用心得体会与分享使用经验与应用案例。投稿联系方式:QQ、微信、QQ邮箱号码:492411912. 投稿是否采用一般一周内给予回复,也可以通过邮箱或微信查询!