用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.
结束语
本文通过实例的方式,对数学软件中如何定义积分区域直接计算多元函数积分的思路、方法和具体操作进行了详细的分析与探讨. 从应用范例中可以直观看到,这种计算多元积分的方法对于日常积分计算思路、方法与结果正确与否的验证提供了一个非常方便、快捷、有效的方式.
不过值得注意的是,对于重积分、对弧长的曲线积分和对面积的曲面积分,既使积分范围不具有统一的描述形式,一般也可以直接通过多个区域的定义来一次性积分得到结果;但是,对于对坐标的曲线积分和对坐标的曲面积分,对不具有统一数学描述形式的积分曲线或曲面,由于切向量与法向量计算使用的方程不同,可能需要基于积分对积分曲线或曲面的可加性,通过分割积分范围单独计算子范围上的积分并求和来实现. 同时,并不是所有的积分的计算都可以通过这种方式来计算得到结果,对于一些复杂的积分可能需要事先进行一定的数学处理,如被积函数的变换,积分类型的转换等操作以后才能完成计算. 也就是说,要想让计算机正确高效的帮助我们解决问题,一定的数学基础和必要的数学能力必不可少.
用Mathematica实现各类积分图形区域绘制与积分计算及结果的快速检验方法(一)相关推荐
- MFC基本图形的绘制(一)设备环境类CDC、画笔和画刷
Windows的GDI(设备图形接口),提供了绘图的基本工具,如:画点.线.多边形.位图以及文本输出等.MFC的设备环境类CDC封装了全部的绘图函数,使得绘制的图形即可以显示,又可以打印. 概述 Vi ...
- [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- QT5开发及实例学习之十六Qt5基础图形的绘制
文章目录 前言 一.绘图框架设计 二.绘图区的实现 三.主窗口的实现 前言 设计界面,区分各种形状及画笔颜色.画笔线宽.画笔风格.画笔顶帽.画笔连接点.填充模式.铺展效果.画刷颜色.画刷风格设置等 ...
- MATLAB中特殊图形的绘制
为了满足用户的各种需求,MATLAB还提供了绘制条形图.面积图.饼图.阶梯图.火柴图等特殊图形的命令. 1.条形图 绘制条形图时可分为二维情况和三维情况,其中绘制二维条形图的命令为bar(竖直条形图) ...
- C/C++图形库EasyX快速上手指南【1】——绘图窗口和基本图形文字绘制
文章目录 前言 EasyX使用基本介绍 easyX上手简易教程 initgraph函数初始化绘图窗口 句柄 关闭函数closegraph 背景插入和背景颜色函数 图片载入函数loadiamge 图片输 ...
- 各类积分对称性详细总结
在这里再分享一篇通俗理解各类积分及各定理使用的文章~ 通俗理解:第一型曲线积分,第二型曲线积分,第一型曲面积分,第二型曲面积分,二重积分,三重积分之间的内外联系 以下正文 此文干货满满!!!建议收藏! ...
- 一起学 pixijs(1):常见图形的绘制
大家好,我是前端西瓜哥. pixijs 是一个强大的 Web Canvas 2D 库,以其强大性能而著称.其底层使用了 WebGL 实现了硬件加速,当然如果不支持的话,也能回退为 Canvas. 本文 ...
- 计算机图形学实验二图形的绘制及裁剪
图形的绘制及裁剪 1.六芒星的绘制 2.用扫描线填充算法(或种子填充算法) 3.实现不同属性的点和线.字符显示.反走样技术 4.实现线段裁剪的Cohen-Sutherland算法或Liang-Bars ...
- MatLab中函数图形的绘制
原文地址为: MatLab中函数图形的绘制 在MatLab中绘制函数图形,可以使用Plot函数,下面使用该函数绘制二次函数曲线. x=[-5:0.1:5]; y=x.^2; %注意这里必须使用点乘. ...
最新文章
- 硅谷产品实战-总结:20、想要增长,你的团队需要高效的工作流
- linux安装配置jdk1.8
- SQL Server数据库同步问题分享[未完,待续](一)
- Failed to execute
- ant-design-vue 环境搭建及入门
- collections 模块:更多数据结构
- 英伟达新研究:“狗生猫,猫生万物”的多模态无监督图像转换
- 【java学习之路】(java SE篇)004.面向对象基础入门part1
- 深度学习样本归一化到[0,1]还是[-1,1]
- windows如何安装MySql(包含一些安装时问题的解决)
- 源码安装php5.5
- 深度学习之VGG19模型简介
- c++实现 龙格库塔经典4阶算法
- APP运营推广:新APP建设之后该怎么做好品牌运营?
- 【MySQL】SHOW ENGINE INNODB STATUS \G之Pages flushed up to的理解
- 深恶痛绝,编程界的「劣驱良」
- 最全PLC输入输出各种回路接线
- sql分组 会计分录_会计科目是对()具体内容进行分类核算的项目。A.会计主体B.会计帐户C.会计分录D.会计对象...
- 杭州电子科技大学研究生计算机专业目录,杭州电子科技大学2017年硕士计算机学院招生目录.pdf...
- 微课竞赛系统的设计与实现所需工作条件_启升微课丨从软件设计开发着手准备医疗器械软件描述文档...