Maple & MapleSim分享 http://blog.sciencenet.cn/u/maplesim

博文

Maple主要技术特征

已有 13922 次阅读 2012-4-26 17:43 |个人分类:Maple基础学习|系统分类:科研笔记| 技术, 科学家, 计算, 工作表

Maple主要技术特征介绍
2012-2-23

Maple是面向数学家、工程师、科学家、教师和学生的科学计算软件,经过超过30年的持续开发,目前被公认为具有世界上最优秀的数学和符号计算功能,Maple帮助您分析、探索、可视化、求解数学问题。Maple基本版内置超过5,000个函数,能够处理各种类型的数学问题。Maple易学易用,友好的用户界面支持多种操作方式,包括Clickable Math™工具和完整的编程语言。Maple提供智能文件环境,可以在单个工作表中整合计算、文字和数学说明、图形、图片、声音、和框图等。


下面将从以下几个方面介绍Maple的技术特征:


• 数学

  1.  数值和符号计算

  2.  全面的数学函数

  3.  方程求解

  4.  线性代数

  5.  编程

  6.  单位和量纲

  7.  公差


• 智能文件环境

  1.  数学方程编辑器

  2.  可视化

  3.  图形注释和客户化

  4.  智能右键菜单

  5.  交互式助手

  6.  任务模板

  7.  嵌入式图元件

  8.  变量管理器

  9.  MapleCloud文件云服务器

  10.  幻灯片

  11.  符号手写识别器

  12.  探索助手


• 高性能计算

  1.  自动并行计算

  2.  在本地网格上多进程编程

  3.  多线程编程

  4.  网格计算

  5.  支持CUDA


• 接口

  1.  代码生成

  2.  与MATLAB的连接

  3.  CAD系统连接

  4.  数据库连接

  5.  Excel连接

  6.  互联网连接

  7.  OpenMaple API/调用Maple接口

  8.  External Calling/Maple调用外部程序


• 教育

  1.  向导

  2. Demonstrations

  3. Maple学生门户


• 应用领域

  1.  金融建模

  2.  统计和过程控制

  3.  物理

  4.  控制设计

  5.  信号处理


• Maple Player for iPad

 

数学


Maple 是现代工程师和科学家必备的工具:可用于项目的各个阶段,方案设计-建模-科学计算-文件报告,从初始的概念探索和数字化设计,高保真模型,到最终的技术文件和演示,Maplesoft 提供了高效的产品平台协助您完成项目。
 


数值和符号计算


Maple计算引擎集成了高性能数值计算和世界领先的符号计算,具有大量的技术优势:

  • Maple允许您使用精确数计算,例如分数、根式、符号等,消除数值计算引起的累积误差。

  • 可以计算任意精度的近似值,不受硬件的限制。

  • 您可以从各种精确和近似算法中选择最合适的技术,满足项目需要。

  •  Maple允许您在问题中使用符号参数,直到需要时再求数值近似解。参数使用贯穿于分析的各个阶段,很容易实现参数扫描、优化值、研究系统的行为。

  • 符号计算允许您得到高精度结果,消除手工推导,让您洞察问题结构,从而产生关于该系统行为的推测和结果。

  • Maple提供符号、数值、混合计算算法,以及智能自动算法选择,弥补单一方法的不足。

 

 

全面的数学函数


Maple标准版提供超过5,000个计算命令,100多个不同领域的算法函数包,覆盖几乎所有的数学领域,包括:微积分、积分和离散变换、线性代数、统计、信号处理、图论、微分几何、线性规划、组合数学、优化、物理等等。(按字母顺序排列):
 

  • 抽象代数

  • 代数

  • 代数曲线

  • 微积分

  • 组合函数

  • 组合结构

  • 复数算法和函数

  • 曲线拟合

  • 微分代数

  • 微分方程

  • 微分形式

  • 微分几何

  • 离散和积分变换

  • 动力系统

  • 欧几里德几何

  • 金融数学

  • 高斯整数

  • 母函数

  • 图论

  • 群论

  • Lie 对称性

  • 线性代数

  • 线性泛函方程系统

  • 线性算子

  • 线性规划

  • 线性递归方程

  • 逻辑

  • 数值近似

  • 数论

  • 优化

  • 正交多项式

  • P-adic 数

  • 物理

  • 多项式

  • 多项式系统

  • Q-差分方程

  • 有理标准形

  • 有理域计算

  • 级数展开

  • 科学常数

  • 科学误差分析

  • 特殊函数

  • 统计

  • 统计过程控制

  • 多项式符号-数值算法

  • 张量

  • 公差

  • 编码和密码理论

  • 字符处理

  • 网站内容开发

 

 

方程求解


数值方法求近似解


Maple数值求解器使用工业标准技术求方程的近似解,包括集成了来自于NAG的数值算法。

  • 求解方程和方程组。

  •  设置计算精度的位数。

  •  定义起始值。

  •  定义求解区域。

  •  定义是否求解实数根或复数根。

  •  限制多项式方程中变量返回根的数量。

  •  提供方程求解过程中要回避的值,搜索解时忽略这些值。

混合方法


除了使用标准的数值技术,Maple通过应用符号-数值混合方法拓展了数值计算的能力和速度。


如果问题表现为不能使用标准的数值或符号方法求解的形式,Maple会尝试将问题进行符号转换为可以数值方法求解的等价形式。


混合技术也可对数值求解器选择恰当的起始值,让它们更迅速地发现解。


这些混合方法无缝集成在数值求解算法中,并根据需要自动被使用。


其他求解器


除了求解代数方程的算法,Maple还内置了大量专业的求解器,包括微分方程、微分代数方程、方程( integers mod m )、递归方程、级数解、q-差分方程。


 

线性代数


Maple提供高效全面的算法支持求解小规模和大规模问题。 包括:

  •  提供100多个命令用于线性代数领域中的构造、求解、编程、和查询等工作。

  •  标准的2-D符号输入矩阵、向量,和显示结果。

  •  可以通过右键菜单、任务模板、或者命令完成大量的操作。

  •  符号和数值计算,包括支持矩阵同时包含数值和变量。

  •  特征值和特征向量,包括经典的和通用的。

  •  高级算法用于有限域上的线性代数。

  •  大量的矩阵因式分解和系统求解器。

  •  高级数值方法处理稠密和稀疏矩阵,具有高度的用户控制。

  •  同时支持硬件浮点数和任意精度的软件浮点数。

  •  内置来自于NAG, CLAPACK, 和BLAS (ATLAS and MKL) 的数值算法库。这些算法已经被集成到Maple中,在适当的条件下被自动调用。


Maple同样提供了大量的工具用于教学和学习线性代数概念:

  •  交互式向导让您单步执行Gaussian消去;Gauss-Jordan消去;以及求矩阵的逆、特征值、特征向量。 

  •  可视化程序显示两个向量的叉乘、 2-D或3-D线性方程的系统、向量到子空间的投影等 。

  •  超过25个任务模板,辅助完成常规的线性代数操作,包括叉乘和点乘、计算基、求解线性方程组。

 

编程


Maple提供完整功能的编程语言,可用于创建脚本程序、编程、和完整的应用程序。

  •  解释性语言支持探索和快速原型。

  •  过程和函数编程。

  •  提供高级功能,包括操作符重载、变量假设、以及异常处理。 

  •  调试、分析、库管理工具。

  •  可查看大部分算法的源代码。

  •  创建和操作各种类型的数据结构,包括集合、列表、数组、栈、队列、记录、和模块。

  •  提供操作数学对象的工具,包括多项式、积分、求和等。

  •  强大的类型系统,包括拓展已有的类型。

  •  通过对应的XML对象生成和操作Maple工作表。

  •  用户级函数实现多核计算机上的多进程和多线程编程。

  •  编译器程序包、CUDA支持、并行算法、以及优化工具实现高性能数值计算。

  •  外部函数接口实现透明地访问动态库。

  •  交互式图元件,包括按钮、刻度盘、滑动条、图形、列表框、单选按钮、以及输入和显示2-D数学的数学表达式框等,可在图元件中添加自定义程序,实现交互式操作。

  •  可客户化的智能右键菜单

  •  可以通过编程方式或通过点击式Maplet生成器创建Maplet程序。

 

单位和量纲


您可以对输入的变量添加单位,使用Maple进行必要的量纲分析,得到期望单位下的结果。当由于您的疏忽添加了不相容的单位时,Maple也会阻止您,从而消除了一个常见的错误源。

  •  支持超过500个单位和准确的单位转换。

  •  单位制,包括Atomic, CGS, 电磁, 静电单位, FPS, MKS, MTS, 和 SI。

  •  超过50个基本量,包括加速度、面积、动态粘性系数、电阻、能量、热传递、光、磁通量、质量等。

  •  支持添加和删除单位制和量纲。

  •  单位面板让您快速使用SI和FPS 单位。

  •  右键菜单支持单位,包括附加和移除单位、简化表达式中的单位、以及单位转换。

 

 

公差

 

Maple允许您在计算时包含公差量。输入的公差显示为标准的符号,例如 1.45 ± 0.05.

  •  公差可以被所有的算法操作符识别,例如...

  • • 公差支持许多内置的函数,包括平方根、指数、三角函数、和特殊函数。

  •  使用面板或键盘轻松输入±符号。

  •  在同一个计算中可以组合公差和单位计算。

  •  公差保持与标准数值相同的精度。

  •  提取名义值和公差值用于进一步的计算。

 

智能文件界面

 

Maple 提供智能界面求解复杂数学问题和创建技术文件,集成世界上最强大的符号计算和高性能数值计算引擎,是你所有数学工作的理想环境。智能的文件环境提供革命性的可点击数学技术,解决任意技术学科中的数学问题。用户可在易于使用的智能文件环境中完成科学计算、建模仿真、可视化、程序设计、技术文件生成、报告演示等,从简单的数字计算到高度复杂的系统,满足各个层次用户的需要,从高中生到高级研究员。

 

数学方程编辑器


使用Maple方程编辑器,您可以使用标准的数学符号表示复杂的数学问题。


直观快速地切入问题:

  •  超过25个填充模板实现常规操作,包括积分、导数、和函数定义。

  •  常规命令的自动化格式:^ 键自动移动光标到指数位置,/ 键创建一个分数分划线并移动光标到分母位置。

  •  符号补全让您快速插入符号。您无需记住精确的名称,仅需要输入开头几个字符,命令补全会自动补全或弹出关联的命令列表。

  •  可以自由地调整面板的位置。您可以展开、折叠、移除、重新排序面板,可以快速地找到常用的面板项。

  •  隐式乘法: 3x 等同于 3•x。

 

正确地表示数学

  •  对同一概念支持多种符号。例如,  ,  ,y’(x) ,和 y’  均表示 对于 x 的导数。

  •  广泛的布局控制:上标、下标、顶部、底部、前上标、前下标。

  •  面板提供超过1000个符号。

  •  可以修改排版规则,修改特定命令和符号的显示和解析。

 

可视化


Maple提供各种各样的可视化工具。您可使用右键菜单和交互式图形界面助手创建2-D和3-D图形以及动画。Maple同样提供了大量的命令和编程工具实现图形的创建和客户化设置。这些命令可以交互式使用或者包含在Maple程序脚本中,创建自定义的特定图形和高级应用。


亮点:

  •  二维、三维图形、动画。

  •  超过160种图形类型,包括隐式、等高图、复数、极、向量场、密度、保角变换、常微分方程、偏微分方程、统计图。

  •  工程图形,包括时域和频域响应图、根轨迹图、和根轮廓图。

  •  各种的坐标系。

  •  绘图向导。

  •  丰富的客户化和注释工具。

  •  分层图形和不同类型的动画。

  •  标准几何对象、正多面体、和多面体,包括椭圆、双曲线、多边形、圆锥、球体、torii、十二面体、二十面体、四面体等。

  •  二维和三维图形和动画的缩放和平移。

  •  三维图形的实时旋转。

  •  通过滑动条交互式控制参数变化。

  •  点探针获取2-D图形的坐标。

  •  可以用拖入方式在已有图形中添加新的数学表达式图形。

  •  图形生成器助手提供点击方式创建和客户化许多类型的图形和动画。

  •  使用右键菜单和工具按钮修改图形选项。

  •  

 

图形注释和客户化


在Maple中,您可以轻松利用使用图形生成器助手、右键菜单、绘图命令参数项等多种途径自定义设置和注释图形。


可控制的2-D和3-D图形以及动画的外观包括:

  •  在标题、图例、图形标签、刻度标签、和坐标轴标签中添加排版的文字和数学表达式。

  •  大量的绘图注释工具,包括草图,在图形中绘制线、箭头、形状等。

  •  控制刻度间距和子刻度,包括设置刻度为 π 的整数倍。

  •  控制范围、颜色、线型、点样式、轴样式、网格线、图例位置等。

  •  控制3-D图形和动画的表面样式、照明模式、光泽度、透明度、阴影、投影、方向、轴线颜色等。

  •  支持非英语国际字符。 
     

智能右键菜单


在Maple中,右键菜单允许您通过简单的点击对象,然后从弹出的菜单中选择期望的操作即可完成大量的计算任务。

  •  右键菜单内容会随着点击对象的不同而变化,仅适用于当前对象的操作才会显示。例如,点击矩阵时右键菜单中会包含“行列式”,而“求解微分方程”项会出现在对象是微分方程的情况下。

  •  表达式可以进一步分析,以检测存在的变量。在合适的情况下,这些变量会自动添加到右键菜单中。例如,你可以从右键菜单中定义要求解哪个或哪几个变量。

  •  当您使用右键菜单操作后,输出结果前面会自动出现一个带箭头的横线,横线上显示完成动作的简要描述。

  •  自动生成的描述性文字可以删除或修改。

  •  右键菜单除了可以完成数学操作外,也可以修改图形选项,客户化嵌入式图形元件,调整表格属性,以及完成其他动作。

 

交互式助手


常微分方程分析器提供图形化界面,让用户求解和探索常微分方程问题的解。通过常微分方程分析器,您可以设置初始条件、选择数值或符号求解器、探索使用不同求解方法的影响、对结果绘图、以及生成对应的Maple命令以便在文件或代码中重用。


反向求解助手自动生成方程的反向求解器,允许您给出其中某些参数的值然后求解未知的变量。通过助手菜单中的反向求解器,您可以对任意的参数设置约束,然后画出当公式中这些参数值变化时图形的变化。该助手也可接受符号参数,显示可能的解。

探索器助手允许您从任意的Maple表达式快速创建交互式迷你程序,实现表达式参数的探索。基于这些程序,您可以使用滑动条改变参数值,观察变化结果。


其他的交互式助手:

  •  曲线拟合

  •  数据分析

  •  优化

  •  特殊函数

  •  单位计算器

  •  等等...

Maple提供超过60个交互式助手和向导,以及大约350个计算模板,帮助你解决广泛类型的计算任务,从函数绘图到计算体积分,所有这些无需知道命令名、无需学习特别的语法或记住选项。


连同智能右键菜单,帮助您在当前输入直接使用Maple命令,这些特征让Maple成为最容易使用的科学计算系统,快速得到计算结果和专业计算文件。


 

任务模板


任务模板提供快捷的、填充式的问题求解模板。这些模板涉及许多主题,例如:“识别微分方程的类型”,“一组向量的基”,“公差”,和“最小二乘近似”。


许多模板使用了点击式图元件,使得这些模板成为了迷你计算器。此外还提供命令和命令序列完成特定的任务;您仅需要在填充区域输入自己的值,然后得到结果。这些命令可以重用、复制、或者插入到自己的Maple工作表中。


每个模板包括简要说明和示例。任务模板覆盖了许多主题,包括:

  •  代数

  •  微积分曲线拟合

  •  微分方程几何

  •  列表管理

  •  绘图

  •  统计

  •  变换

  •  单位,科学常数,误差

  •  矢量微积分


 

嵌入式图元件:按钮、滑动条等


在Maple中,您可以在技术文档中嵌入交互式图元件,使用诸如滑动条、按钮、转盘等,并且可在图元件属性中添加自定义代码,实现交互式模拟操作,让您的文件成为专业的技术报告和容易使用的应用程序。


特征:

  • 可用的图元件包括按钮、滑动条、图形、复选框、列表框、触发按钮、单选按钮、数据表、仪表盘等。

  • 数学表达式框,输入和显示二维数学内容。

  • 可以轻松使用图元件面板添加图元件到文件中。

  •  控制图元件的外观,例如按钮上的图片、滑动条的方向、仪表盘上的刻度间距。

  • 可以在Maple幻灯片模式和MapleNet™下交互式使用嵌入式图元件。

  • 变量管理器

  • 通过变量管理器让您可以轻松访问定义在Maple工作表中的所有变量,更好地管理工作表,快速评估计算状态和检查变量值,无需浏览整个文件。使用变量管理器,您可以做到:

  • 快速知道计算状态,从单个区域检查变量值。

  •  查看工作表中的所有变量,或者仅显示感兴趣的变量。

  •  快速知道变量是否赋值。

  •  按照变量名、值、数据类型组织变量列表。 

 

 

MapleCloud文件云服务器


MapleCloud提供了一个创新的方式让您与同事和学生之间分享工作。Maple让您能够在单一的环境中创建、部署、以及通过MapleCloud文件交换服务器接受技术文档。MapleCloud无缝集成在Maple环境中,您可以在轻松和直观地与课题组同事、课堂、或遍布全球的用户分享您的工作成果,完成这一切无需单独的工具或繁琐的上传和下载操作。

  •  当启动Maple时,MapleCloud自动显示分享的文档。

  • • 当您希望分享自己的文档时只需要点击一下鼠标。

  •  分享的内容可以面向所有的Maple用户,也可以面向指定的用户群。

  •  任何人都可以在Maple环境中加入、创建、管理用户群。

  •  当创建一个用户群后,您可以控制用户群的可见性,管理用户群成员,以及分享内容的可见性。例如,一个教师创建了一个面向特定课堂学生的私有用户群,并设置了访问权限,这样教师的共享文档可以被该私有用户群分享,但学生提交的文档只有教师可以看见。

  •  每个Maple用户都可以使用MapleCloud服务器上的私有空间。这个空间可用于存储Maple文件,因此该用户可以从任一台安装有Maple的计算机上使用这些文档。

  •  文档的描述可以直接使用Google™翻译器翻译为本地语言。

  •  MapleCloud中的搜索工具可以实现全文搜索,通过感兴趣的关键词搜索所有文档。

  •  MapleCloud中内容的安全性可以设置。

  •  可以分享整个文档或选择的部分。

  •  文档被自动压缩,快速上传和下载。 

 

 

幻灯片


在Maple幻灯片模式下,您可以在单个文件和环境中求解问题、工作文档化、呈现结果。

  •  轻松将单个文件设置为幻灯片模式 – 文件中每个段落显示为单页幻灯片。

  •  通过改变问题呈现动态演示,在演示过程中使用按钮、滑动条等嵌入式图元件更新图形。这些图元件和计算在幻灯片模式下是“活”的,无需退出幻灯片模式。

  •  在幻灯片模式下可以旋转三维图形,或者使用右键菜单修改二维和三维图形选项。

  •  页眉页脚中包含文字、数学、图片等,出现在每一个幻灯片中。

 

符号手写识别器


为了帮助您从Maple面板内置的1,000多个符号中找到期望的符号,Maple提供了符号手写识别器,允许您使用鼠标在符号识别面板中画出符号形状,方式如同您画在纸上一样。符号识别器将搜索所有的符号,最后为您提供可能的匹配项。
您可以通过点击或者拖动匹配的符号,插入符号到文件中,操作方式与其他面板中的符号一样。您可以添加这些符号到收藏夹中,方便您以后能快速发现经常使用的一些符号。

 

 

探索助手


探索助手允许您快速和直观地创建交互式迷你应用程序,可以用于探索表达式中的参数。使用这些应用程序,您可以使用滑动条改变参数值然后实时观察对应的结果。

  • 探索任意的Maple表达式,包括图形和命令。

  •  客户化每个变量的变化范围。

  •  挑选哪些变量需要控制,哪些变量保留为符号未知量。

  •  使用鼠标点击或使用右键智能菜单快速创建迷你程序;无需命令或编程。
     

高性能计算


Maple提供许多选项在多核计算机到大型计算集群上实现并行计算,让你能够比以往更快地处理更大的问题。

 


自动并行计算


Maple 充分利用计算机的处理能力,自动检测和使用计算机上所有可用的处理器核用并行方式完成大量的计算。你不需要做任何特殊的编程、选项设置、甚至不需要你计算机中有多少个核!在Maple中,许多基础运算可以用并行计算实现,从而更快地得到结果,以及处理更大规模的问题。


举例说明,Maple可以自动并行化许多多项式运算。Maple中许多计算包含多项式处理,包括许多求解器和积分算法,因此许多其他函数计算速度也得到了大幅度的提高。


例如,多项式计算,计算机的运行环境:Intel Core i7 920 processor, 2.66GHz 64-bit,给出下面的执行时间:
 
  
Maple中的另一个自动并行化领域是线性代数数值计算。Maple提供Intel Math Kernel Library (MKL),并自动配置该库利用所有可用的处理核。当计算机中存在多核时,许多线性代数数值计算可以自动以并行方式运行。

 

在本地网格上多进程编程

 

Maple允许你从用户级实现多计算进程,无需预先设置或管理。多个后端引擎共享相同的用户界面,但是每个引擎是完全独立和安全的。这种并行模式为所有内存中的数据共享提供保护。4核电脑现在已成为普通配置,8核到12核电脑越来越受欢迎,新的本地网格功能是并行编程的很好选择,体验瞬间加速。


这个API与在计算机集群或超级计算机上用于大规模网格计算的相同,方便你在个人电脑上编写程序和测试分布式代码,然后将同一代码部署到大的计算网格上。
 
上面是Window任务管理器的截图,显示了当使用16个节点时CPU的利用率,其中包括8个真实的内核,以及8个虚拟超线程处理。可以看到所有这些CPU都得到充分利用。

 

 

多线程编程


Maple是唯一的科学计算系统,允许你在自定义程序中实现多线程计算。Maple编程语言可直接启动和控制线程。此外,Maple提供Task Programming Model,简化了线程管理。使用Task Programming Model编写并行算法可以有效地减少和消除标准线程编程中的许多困难。

  •  无需显式的线程。用户创建的是任务,而不是线程。

  •  Maple安排任务到处理器上,让代码可以扩展到可用的处理器上。

  •  使用Task Programming Model编写的许多算法可以同时运行,不会对性能有大的影响。

  •  可以解决复杂的问题,无需传统的同步工具,例如mutexes和条件变量。

  •  如果没有使用同步工具,函数不能被死锁。

  •  任务函数使用简单,模型类似于传统的函数调用。
                 

网格计算(并行分布式计算)


当求解大规模问题时分布式系统提供了极大的便利。通过分享计算负荷,你可以解决单台计算机不能处理的大型问题,或者用相对较少的时间完成计算。Maple与Maple Grid Computing Toolbox让创建和测试并行分布式程序变得容易。


Maple基本版内置Grid函数包,可以在单台计算机上完成多进程计算设置。Maple Grid Computing Toolbox将这个功能拓展到多台计算机或并行集群中。这两种模式是互补的,因此算法可以被创建并在本机Maple内得到充分测试,然后使用工具箱部署到整个集群中,无需改变算法。
    

支持CUDA


Maple支持CUDA,利用图形化加速计算性能。

  •  当你的计算机中存在NVIDIA CUDA(统一计算设备架构)时,CUDA函数报允许Maple使用图形处理单元(GPU)加速线性代数计算。

  •  使用CUDA可以实现数值计算一个数量级的加速。

  •  一些利用CUDA技术完成基础计算的线性代数计算得到加速,可以处理大规模的问题。

  •  支持单精度 (float[4]) 和双精度 (float[8]) 操作,取决于使用的GPU硬件的能力。
     

接口


Maple和MapleSim具有广泛的接口功能,能够无缝集成到您现有工具链中。

  •  代码生成,自动转换Maple代码为其他语言VB、MATLAB®、Java、Fortran

  •  通过TCP/IP sockets连接互联网

  •  与 MATLAB® 的连接,包括双向集成和代码转换

  •  Mathematica® Notebook 转换和命令转换工具

  •  OpenMaple API 面向C、Java、VB

  •  External calling 调用外部代码

  •  Java、C、Fortran连接Excel®、数据库、NAG C Library、CAD软件

  •  支持 MathML 2.0 表示和内容

  •  XML 文件的导入和输出

  •  文件输出格式:HTML、XML、MathML、LaTeX、RTF、PDF

  •  图形输出格式:BMP、DAE、DXF、EPS、GIF、HPGL、JPEG、PCX、POV、TEK、WMF、X3D

  •  WAV、JPEG、TIFF格式文件的输入、操作、和输出数据

  •  输入各种格式的数据,包括ASCII、CSV、Matrix Market、MATLAB®等
     

代码生成


Maple的代码转换允许你轻松将Maple中所做的工作转换到其他编程语言。你可以实现:

  •  快速部署Maple中的解决方案和原型,充分利用Maple的数学命令和交互式编程语言。

  •  生成数学表达式和过程程序的优化代码。

  •  Maple表达式和程序可以轻松转换为源代码。

  •  集成这些免费代码到自己的程序中。

特征:

  •  生成Visual Basic®,MATLAB,Java,C,C#,Fortran 代码。

  •  覆盖或添加代码转换规则到已有定义中,或者定义一个完全新的语言定义。

  •  可选项包括自动化类型推演、自动化类型强制转换、方程约简分析、代码优化。

  •  新的优化算法生成比以前更高效和紧凑的代码。这个优化处理使用了高级符号技术,超过这些编程语言自有的编译器,允许你处理非常复杂的表达式,生成更高效的数值计算代码。
     


与MATLAB的连接


Maple提供多种不同的方式连接MATLAB®。

  •  提供Maple Toolbox (Maple Toolbox for MATLAB) 双向连接Maple和MATLAB®。

  •  灵活的连接工具支持多种方式的协同工作:MATLAB到Maple代码转换器;自动生成MATLAB代码;MATLAB计算引擎连接。

双向接口Maple Toolbox for MATLAB®


基于Maple Toolbox for MATLAB,Maple提供了理想的科学计算方案,无缝集成Maple和MATLAB,在各自的工作环境下直接使用对方的所有命令、变量、和函数等,两个工具协同工作帮助您解决数学问题、完成对结果的深度分析。

  •  无缝集成Maple和MATLAB,在各自的工作环境下直接使用对方的所有命令、变量、和函数等。

  •  在MATLAB中使用Maple符号计算引擎,获得世界上最好的符号计算算法和数学计算成果,处理MATLAB计算和程序中的符号计算部分。

  •  如果你正在使用MATLAB®,你也可以使用Maple交互式助手和向导,快速开发出解决方案。

  •  在MATLAB计算中获得任意精度的结果,避免MATLAB代码中灾难性的消去。

  •  完全兼容使用MATLAB早期版本中symbolic toolboxes编写的代码。

灵活的连接工具


MATLAB到Maple代码转换器


MATLAB®到Maple代码转换器可以帮助您将已有的MATLAB®代码转换到Maple中,用于新项目或扩展项目。如果您更熟悉MATLAB®语法,它也提供了快速转换功能。

  •  通过使用Maple中的等效命令,转换和自动执行MATLAB®命令。

  •  使用单个命令或MATLAB® .m文件。

  •  支持基础运算、矩阵索引、矩阵构造等。

  •  超过100个MATLAB®命令自动映射Maple中同等功能的命令。

  •  转换命令集是用户可扩展的。


MATLAB®代码生成


Maple代码生成可以将Maple表达式和程序转换为MATLAB®代码。


MATLAB®连接


MATLAB®连接功能让您可以在Maple环境中调用MATLAB®完成计算,然后返回结果到Maple中完成进一步的分析工作。

  •  调用MATLAB®计算,使用灵活的通讯工具获取MATLAB®任意表达式的结果。

  •  在Maple中设置和获取MATLAB®变量值。

  •  可以调用任意的MATLAB®函数,包括用户自定义程序。

  •  返回的MATLAB®结果自动转换为Maple数据结构。

  •  可以直接使用数十个MATLAB®函数。

  •  Maple命令可以无缝接受MATLAB®和Maple的数据结构,并调用后台的MATLAB®执行计算。

  •  直接使用的功能包括计算Cholesky分解、行列式、维数、特征值、LU分解、离散傅立叶变换等。


 
CAD系统连接


Maple为CAD系统添加了重要的分析功能,让CAD用户可以使用Maple计算引擎分析和优化设计。使用Maple,CAD用户可以回答这类问题,“对象之间的数学关系是什么?”和“如何修改对象的数学影响其他对象?”。


你可利用Maple 与 CAD 系统之间的双向接口,直接从CAD中获取参数和尺寸,利用Maple强大的数学计算功能,减少手工转换尺寸和参数带来的潜在错误,并可对参数进行各种数学分析,以及量纲管理等,从而有效提高设计水平和质量。Maple中计算的量直接映射到CAD模型中的尺寸,当你在Maple完成对参数的数学分析后,计算和CAD绘图会自动更新。

  •  CAD系统接口功能允许你从CAD制图中获取参数,发送新的值自动更新设计。

  •  CAD连接助手提供快速、交互式的方式连接CAD系统,无需编写代码。

  •  使用CAD连接助手,可以很容易浏览CAD设计中的标量,因此它可以作为一个工具,帮助你编写特定功能的CAD工作表。

  •  使用Maple的编程语言和内置的API命令,你可以创建特定的工具实现部分重构和优化。

  •  支持的CAD工具有Solidworks®, Autodesk® Inventor™, 和 NX®。
     

数据库连接


Maple支持CUDA,利用图形化加速计算性能。


使用Maple内置的数据库连接工具,工程师和科学家可以快速开发和部署包含大型企业数据库的应用程序,以及使用Maple强大的分析和可视化工具。您可以在交互式的、用户友好的Maple环境中轻松访问、创建、和更新数据库,无需深入了解SQL知识。

  •  可与支持JDBC-compliant driver的数据库连接,例如Microsoft® SQL Server®, Microsoft Access™, Sybase™, Oracle®, IBM® DB2®, 和 MySQL®。

  •  允许在Maple中查询、更新、和创建数据库。

  •  自动结果更新,无需使用进一步的SQL命令。

  •  在SQL与Maple之间自动数据转换,允许在各自的环境中自然操作。

  •  可通过Maplet窗口助手管理连接和建立查询,无需详细的SQL知识。

Excel连接

 


从Excel®文件导入数据到Maple中是一个平滑和极其容易的过程,Maple与Excel之间支持多种方式的连接。

  •  数据助手提供图形化的界面方便你输入Excel数据。

  •  使用ExcelTools函数包中的命令输入和输出数据。

  •  使用矩阵浏览器上的输出按钮将大的数组、向量、矩阵、高维rtable输出为Excel文件。

  •  Excel宏插件,在Excel中直接使用部分Maple命令和帮助系统。
     

互联网连接


利用Maple,你可以连接数据源、在线数据库、以及互联网和内部网的其他信息源,在Maple程序中使用这些数据源。使用这个功能,你可以访问互联网上公布的大型数据源,利用Maple中的计算和分析工具分析数据,创建容易使用的交互式程序,让用户可以探索和操作这些数据。

  •  访问实时信息源,例如金融市场数据;以及访问静态信息,例如世界首都城市的地理坐标或者气象数据。

  •  在本地保存数据或每次连接实现对大规模数据的管理或确保实时更新结果。

  •  访问互联网和企业内部网上的数据源。

  •  无需详细的HTTP标准或TCP/IP协议即可连接到网站。

  •  对于高级应用,提供灵活的工具使用TCP/IP连接和通信流套接字。
     

OpenMaple API/调用Maple接口


通过OpenMaple API,你可以从自有的程序中利用Maple中的所有数学功能。OpenMaple API目前支持C,Java,和Visual Basic的程序。


External Calling/Maple调用外部程序


Maple允许你调用用C,Java,Fortran编写的外部函数,结果被返回到Maple中,你可以在Maple使用它们。

教育


向导


Maple内置了大量的点击式学习工具,主题涉及微积分学、代数、微分方程等。超过50个交互式向导协助学生将精力集中在探索和强化基础概念上,而不是学习使用工具。

 


许多向导让学生逐步解决问题。学生可以自己完成每一步,或者寻求提示,也可以要求Maple自动完成下一步。例如,其中的一个向导要求学生练习使用不同的规则实现积分计算。另一个向导提供帮助完成矩阵的高斯消去,允许学生理解问题求解过程的使用方法和详细步骤,而不仅仅是结果。

 


向导中经常会使用二维、三维、和动画,以可视化的方式强化对概念的理解,例如旋转体和面、特征向量图形、牛顿方法、空间曲线、圆锥曲线、微分方程绘图等。

 


向导主题设计单变量、多变量、矢量微积分,微积分预科知识,线性代数,复变量,数值分析,微分方程。


  
Demonstrations


Maple中的Demonstrations使用交互式和可视化功能探索数学概念。你可以操作输入然后直观地观看作用结果。Demonstrations可以融合到任意的学习环境中,例如课堂演示或自学。

  •  超过45个demonstrations演示广泛的基础数学概念。

  •  点击式操作方式让可视化和体验数学概念更容易。

  •  主题覆盖广泛的函数和图形,以及应用程序。

  •  Demonstrations中使用的Maple代码可以查看、复制,因此可作为你的参考模板。
     

Maple学生门户


Maple Portal for Students为新用户提供了起点门户,提供的资源涉及数学课程、在Maple中“我如何做…”等。

  •  使用交互式助手,智能右键菜单、面板、任务模板等。

  •  提供超过“我如何做…”问题的答案。

  •  内置任务模板的连接。

  •  提供关于附加资源的信息。


 
应用领域

 


金融建模


Finance函数包是Maple 15中新增的功能,适用于风险分析、证券管理、定量分析、和模型验证领域。Finance函数包提供大量的工具用于高级金融建模,包括个人理财工具。在个人理财方面,该函数包可用于贷款和退休计算。金融建模工具包括大量的随机过程用于期权价格模型,例如布朗运动、伊藤过程、赫斯顿过程、SVJJ过程等。它也提供工具组合为复杂的过程。你也可以创建、操作、分析许多类型的金融工具,例如美国、百慕大、和欧洲期权和掉期以及几种类型的债券;短期利率模型;利率期限结构;和现金流。你可以使用分析方法、lattice方法、或蒙特卡罗模拟实现金融工具定价。最后,函数包中的过程可以通过多个方式可视化。


 
统计和过程控制


Maple内置Statistics函数包,提供大量的统计函数,你可以集成使用数值和符号方法求解问题。

  •  提供38个预定义分布,也可以自定义分布;使用符号参数;计算生成随机变量的多达45种不同属性(超过任何其他系统),例如期望值、峰值、生成函数的高阶累积量。

  •  计算包含随机变量的任意代数表达式的相同属性。

  •  快速生成这些分布的大型样本,使用许多特定的可视化程序,以及使用算法计算数据样本的自相关和互相关。

  •  由给定的具体值或符号值的样本确定最大似然估计。

  •  运行数据平滑从噪声数据提取可识别模式。

  •  使用交互式助手和模板轻松使用Statistics函数包中的功能,快速得到结果。

  •  完成过程控制计算。

  •  基于11个不同的自动假设测试程序进行假设检验。
     

物理


Maple允许你研究和处理计算物理中广泛的问题,包括经典力学、量子力学、张量计算、计算常微分方程和偏微分方程的封闭解、抽象矢量代数、特殊函数、电动力学、广义相对论论、量子力学、和费曼图等。
 
控制设计


Maple,MapleSim,和MapleSim Control Design Toolbox,提供大量的工具实现控制对象建模和高级控制系统设计。
 
Maplesoft 产品提供以下功能:

  •  在直观的多领域建模环境中快速开发复杂的高保真受控对象模型。特征化一个给定控制问题所有可能的解,然后基于特定的条件得到最佳的结果。建立和研究控制器,其中模型包含符号和未定的参数。相同的控制器无需进一步调整,可以应用到多个相关模型。创建控制控制器,其中设计规范是参数化的,因此相同的控制器可以适用在不同的条件下。

  •  多个离散化方法支持连续和离散系统。使用不同的表示定义线性和非线性系统,包括传递函数、状态空间矩阵、零-极点-增益、或微分方程。Maple允许在这些不同表示之间使用右键菜单或编程方式相互转换。使用标准分析工具,例如波特图、奈奎斯特图、零极图、根轨迹图、和根轮廓图,以及可观性、可控性、和Routh tables分析系统。工作点计算和模型线性化。

  •  用Ziegler-Nichols (时域和频域响应)和Cohen-Coon进行PID调整策略。高级PID调整方法:主极点设置,指定区域内的极点设置,和幅值和相位裕度。

  •  开发状态反馈控制器,例如LQR,单个极点配置( Ackermann’s formula)和多个输入极点配置。应用状态估计:Kalman滤波,以及单个极点配置( Ackermann’s formula)和多个输入极点配置。

系统模型和控制系统设计


Maplesoft的工程系统建模和仿真产品系列为高级控制系统设计提供了广泛的功能。Maple,MapleSim,MapleSim Control Design Toolbox之间的紧密集让工程师可以创建详细的物理系统模型和分析工具实现控制器开发和测试。此外,由于这些产品基于符号计算框架,为你的控制系统设计工作提供更大的灵活性和高精度。使用这些工具,工程师可以戏剧性地缩短项目时间,降低前期分析、虚拟样机、和系统设计中参数优化的成本。
 
模型线性化


通过使用EquilibriumPoint命令,Maple让你找到系统中满足约束的局部平衡点。这个命令完成局部搜索并返回最接近于初始点的平衡点,通过定义初始点参数或者随机选择。如果EquilibriumPoint命令不能发现所在位置导数为零的点,它会返回导数为最小值的点。通过使用可选的参数约束它有可能描述的是一个导数为非零值的点。

控制设计算法


Maple,连同MapleSim和MapleSim Control Design Toolbox,为控制设计提供了大量的算法。下面的列表描述了Maple在标准PID整定,状态反馈和状态估计。

标准PID和高级PID整定:

  •  符号处理PID控制器获取期望区域内的极点配置。

  •  基于Cohen-Coon 方法的PID整定。

  •  PID控制器设计实现(主)极点配置。

  •  发现可行的控制器增益实现在期望区域内的极点配置。

  •  基于增益和相位裕度定义的PID整定。

  •  Ziegler-Nichols频域(闭环)辨识。

  •  使用时域技术辨识一阶时滞 (FOTD) 模型的采纳数。

  •  基于Ziegler-Nichols频域(闭环)方法的PID整定。

  •  基于Ziegler-Nichols时域(闭环)方法的PID整定。

状态反馈控制:

  •  对给定的状态空间设计线性二次状态调节器 (LQR)。

  •  对给定对设计连续时间线性二次状态反馈调节器 (LQR)。

  •  对给定对设计离散时间线性二次状态反馈调节器 (LQR)。

  •  设计无输出权重的线性二次状态反馈调节器(LQR)。

  •  对单输入系统使用阿克曼公式计算出状态反馈增益。

  •  对单输入或多输入系统计算出状态反馈增益。

状态估计:

  •  对给出的状态空间设计卡尔曼估计。

  •  对单输出系统使用阿克曼公式计算观察器增益。

  •  对给出的观察器增益构建静态增益 (Luenberger) 观察器。

  •  对单输出或多输出系统计算观察器增益。

 

信号处理

 


Maple和MapleSim被广泛应用于通信、滤波器设计、振动和噪音衰减、数字信号处理应用。产品系列包括外部接口转换工作成果到其他开发工具中,例如MATLAB和Simulink。

 


以手机为例,通常情况下,手机通过加密和信号交换数据,并通过纠错技术提供通信质量。这种技术通过无线电通信,并用于复杂的信号处理,并转换音频信号转换为声音。另外内置的拍照相机和视频电话使用了图形信号处理。说起密码,人们往往想起军事,实际上我们平常使用的手机、无线LAN也使用着密码术,成为在无线通讯中必要不可缺少的技术。
 
 
Maple Player for iPad


在iPad上探索数学概念和求解复杂问题! Maple Player 是一个面向iPad的免费应用程序,让您可以查看和交互式使用数学软件Maple创建的文件。Maple Player利用了Maple无与伦比的计算引擎,您可以输入数值、移动滑动条、点击鼠标等动作执行计算并可视化结果。您甚至可以通过指尖旋转3-D图形!


 

 

Maplesoft中国 

Maplesoft是全球领先的面向工程、科学和数学的高性能软件开发商。Maplesoft公司在科学、技术、工程和数学 (STEM) 有超过30年的研发积累,面向教育用户、工程师、研究人员提供基于数学计算软件的解决方案。Maplesoft的旗舰产品Maple透过智能用户界面提供世界上最强大的数学计算引擎,能够非常方便地分析、探索、可视化、求解数学问题。基于科学计算技术,Maplesoft公司产品系列包括教育和研究、系统仿真、计算管理、系统工程的解决方案。2018年,Maplesoft剥离了在线教育产品,成立了独立公司DigitalEd。
无论是在智能手机上探索数学概念,还是降低复杂工程设计项目中的风险,Maplesoft产品提供现代化、创新型的解决方案应对现有的技术挑战。Maplesoft产品和服务已在90个国家超过8000家教育机构、研究所、实验室以及企业中广泛使用。
关于Maplesoft公司的信息,请访问:www.maplesoft.com.
Maplesoft中国办事处
上海市北京西路968号嘉地中心1145室
电话:021--52037605
邮箱:China@maplesoft.com



https://blog.sciencenet.cn/blog-516836-563935.html

上一篇:Maple 16发布,数学软件的易用性达到了前所未有的高度
下一篇:矩阵求解问题
收藏 IP: 210.13.118.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 17:36

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部