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

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

既然借助于数学软件来验证思路与结果,当然希望是操作简单、方便、快捷、有效的.  那么有没有这么好的软件能够不通过构建累次积分表达式的方式,直接计算积分得到结果,来计算或验证多元函数积分的思路与结果的正确性呢?数学软件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实现各类积分图形区域绘制与积分计算及结果的快速检验方法(一)相关推荐

  1. MFC基本图形的绘制(一)设备环境类CDC、画笔和画刷

    Windows的GDI(设备图形接口),提供了绘图的基本工具,如:画点.线.多边形.位图以及文本输出等.MFC的设备环境类CDC封装了全部的绘图函数,使得绘制的图形即可以显示,又可以打印. 概述 Vi ...

  2. [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  3. QT5开发及实例学习之十六Qt5基础图形的绘制

    文章目录 前言 一.绘图框架设计 二.绘图区的实现 三.主窗口的实现 前言   设计界面,区分各种形状及画笔颜色.画笔线宽.画笔风格.画笔顶帽.画笔连接点.填充模式.铺展效果.画刷颜色.画刷风格设置等 ...

  4. MATLAB中特殊图形的绘制

    为了满足用户的各种需求,MATLAB还提供了绘制条形图.面积图.饼图.阶梯图.火柴图等特殊图形的命令. 1.条形图 绘制条形图时可分为二维情况和三维情况,其中绘制二维条形图的命令为bar(竖直条形图) ...

  5. C/C++图形库EasyX快速上手指南【1】——绘图窗口和基本图形文字绘制

    文章目录 前言 EasyX使用基本介绍 easyX上手简易教程 initgraph函数初始化绘图窗口 句柄 关闭函数closegraph 背景插入和背景颜色函数 图片载入函数loadiamge 图片输 ...

  6. 各类积分对称性详细总结

    在这里再分享一篇通俗理解各类积分及各定理使用的文章~ 通俗理解:第一型曲线积分,第二型曲线积分,第一型曲面积分,第二型曲面积分,二重积分,三重积分之间的内外联系 以下正文 此文干货满满!!!建议收藏! ...

  7. 一起学 pixijs(1):常见图形的绘制

    大家好,我是前端西瓜哥. pixijs 是一个强大的 Web Canvas 2D 库,以其强大性能而著称.其底层使用了 WebGL 实现了硬件加速,当然如果不支持的话,也能回退为 Canvas. 本文 ...

  8. 计算机图形学实验二图形的绘制及裁剪

    图形的绘制及裁剪 1.六芒星的绘制 2.用扫描线填充算法(或种子填充算法) 3.实现不同属性的点和线.字符显示.反走样技术 4.实现线段裁剪的Cohen-Sutherland算法或Liang-Bars ...

  9. MatLab中函数图形的绘制

    原文地址为: MatLab中函数图形的绘制 在MatLab中绘制函数图形,可以使用Plot函数,下面使用该函数绘制二次函数曲线. x=[-5:0.1:5]; y=x.^2; %注意这里必须使用点乘. ...

最新文章

  1. 硅谷产品实战-总结:20、想要增长,你的团队需要高效的工作流
  2. linux安装配置jdk1.8
  3. SQL Server数据库同步问题分享[未完,待续](一)
  4. Failed to execute
  5. ant-design-vue 环境搭建及入门
  6. collections 模块:更多数据结构
  7. 英伟达新研究:“狗生猫,猫生万物”的多模态无监督图像转换
  8. 【java学习之路】(java SE篇)004.面向对象基础入门part1
  9. 深度学习样本归一化到[0,1]还是[-1,1]
  10. windows如何安装MySql(包含一些安装时问题的解决)
  11. 源码安装php5.5
  12. 深度学习之VGG19模型简介
  13. c++实现 龙格库塔经典4阶算法
  14. APP运营推广:新APP建设之后该怎么做好品牌运营?
  15. 【MySQL】SHOW ENGINE INNODB STATUS \G之Pages flushed up to的理解
  16. 深恶痛绝,编程界的「劣驱良」
  17. 最全PLC输入输出各种回路接线
  18. sql分组 会计分录_会计科目是对()具体内容进行分类核算的项目。A.会计主体B.会计帐户C.会计分录D.会计对象...
  19. 杭州电子科技大学研究生计算机专业目录,杭州电子科技大学2017年硕士计算机学院招生目录.pdf...
  20. 微课竞赛系统的设计与实现所需工作条件_启升微课丨从软件设计开发着手准备医疗器械软件描述文档...

热门文章

  1. 机房PUE是什么,对节能有哪些帮助?
  2. 快速把整篇英语短文拆分成各个单词
  3. 迁出X86架构,你准备好了吗?
  4. js之Reflect
  5. 图片翻译怎么弄?下面分享几招图片翻译的方法
  6. 苹果手机4g网速慢怎么办_安卓手机12G运存,打不过苹果4G?原因在这
  7. Unity中暂停、继续播放、杀死、正放、倒放Dotween动画
  8. 福元医药上市在即:募资净额将达到16亿元,胡柏藩为实际控制人
  9. Linux 系统编程 -进程概念篇
  10. linux 时间 find,linux find 时间time