目前,在技术和工程领域有四种流行且知名的数学软件:Maple、MATLAB、MathCAD 和Mathematica。每个目标都有不同的特点。
枫叶V系统
Maple V是滑铁卢大学开发的数学系统软件,不仅提供精确的数值处理能力,还提供无与伦比的符号计算能力。 Maple V 的符号计算功能也是MathCAD 和MATLAB 等软件中符号处理的核心。 Maple 提供超过2,000 个数学函数,涵盖普通数学、高等数学、线性代数、数论、离散数学和图形。 Maple还提供了一组内置编程语言,允许用户开发自己的应用程序,超过2000个Maple功能主要是用这些语言开发的。
Maple 使用字符行输入法,它要求您输入不同于典型数学格式的规定格式,但灵活、有用且易于理解。您可以选择文本或图形模式进行输出,生成的图形结果可以轻松剪切并粘贴到Windows应用程序中。
如果你想做数学并且有数学应用能力(数字除外),5星数学软件,纯粹的数学巨头,是你的最佳选择。不过这个软件的二次开发能力并不好,只专注于数学,并不想在其他方面进行开发。 Maple 自带的语言就像说英语一样容易理解。
优势:
与Mathematica 相比,符号计算非常强大,并且许多多项式运算比Mathematica 具有速度优势(尤其是不定积分)。 Mathematica 中计算的积分类型不像Mathematica 或Maple 中那样“自适应”。 Mathematica 需要一定的预处理才能更快地计算并产生令人满意的结果。 (事实上,Maple 和Mathematica 可以求解一些对方无法求解的特殊微分方程。)Mathematica 需要第三方包或WolframAlpha 才能快速上手。需要命令,可以通过右键菜单完成。 坏处:
界面有点卡(基于Java Swing) 经典的界面很流畅但很粗糙。内置代数包具有丰富的简化功能,逻辑系统普遍不如Mathematica。 Matlab和Mathematica的区别在于高精度,MATLAB更擅长大规模计算,但在统计方面较弱。
MATLAB 原名Matrix Laboratory,于20 世纪70 年代使用,为用C 语言编写的Linpack 和Aispack 软件包提供接口程序。自20世纪80年代推出DOS 3.0版以来,DOS 3.0版已逐渐成为一种技术计算、视图交互系统和编程语言。 MATLAB 在十多个操作平台上运行。最常见的是基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux 和其他平台的系统。
MATLAB程序主要由主程序和各种工具包组成,主程序包括复杂系统仿真、信号处理工具包、系统辨识工具包和神经网络工具包。分析综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。此外,5.x 版还包含数十个PDF 文件,提供有关如何使用MATLAB 和其他专用应用程序的详细信息。
MATLAB 是数值计算领域的先驱,使用矩阵作为基本数据单元,也是线性代数、数理统计、自动控制、数字信号处理和动态系统仿真应用的首选工具。一款功能强大的研究工具,非常适合科学研究人员、本科生和研究生。 MATLAB的输入也很方便。同时,结合Word6.0/7.0,可以直接在Word页面上调用大部分MATLAB函数。 Word具有特殊的计算能力。
优势:
在线性代数和数值计算中,矢量化运算通常比类似的软件更快,并且有许多用于模拟、图像处理、信号处理、金融、统计、优化等的工具箱。编程语言相对容易学习。 编辑它有一个很好的调试环境,对于构建GUI 很有用。
较新版本的Mupad 内核本身并不支持符号计算(符号计算远远超出了导出数学表达式的范围)。但它与Mathematica 和Maple 在深度、广度和速度上都有明显的区别。递归特别慢,比Mathematica 和Maple 以及一般的脚本语言都慢。在一些数学领域,如数论、图论、离散数学,速度较慢且相对较弱。大数计算速度慢(例如100万的阶乘或精确计算的前500万位),工具箱之间的协作不是很好,界面也不是很好(从新版本R2013a开始)。好的)。默认的绘图不漂亮,有锯齿,系统函数的名称也不够规范。
MathCAD是美国Mathsoft公司发布的一款交互式数学系统软件。从最初的DOS上的1.0版本和Windows上的4.0版本到如今的8.0版本,其功能已经从简单的数值计算发展到利用Maple强大的符号计算能力,实现了质的飞跃。
MathCAD是集文本编辑、数学计算、程序编辑、仿真于一体的软件。 MathCAD7.0 Professional(专业版)运行在Win9X/NT上。其主要特点是输入格式是WYSWYG(所见即所得)界面。它特别适合不需要复杂编程或特殊计算的一般应用。 MathCAD 7.0 Professional还包括一个程序编辑器,当程序通常很短或需要较低的计算速度时可以使用它。这个程序编辑器的优点是语法非常简单。
MathCAD 是一款功能强大的计算器,没有过于复杂的规则,但也可以在Word、Lotus 和WPS2000 等文字处理软件中用作出色的全屏公式。编辑。
MathCAD是美国Mathsoft公司发布的一款交互式数学系统软件。从最初的DOS上的1.0版本和Windows上的4.0版本到如今的8.0版本,其功能已经从简单的数值计算发展到利用Maple强大的符号计算能力,实现了质的飞跃。
数学系统
Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。在这方面与Maple类似,它具有强大的数值和符号计算能力,但符号计算不是基于Maple而是独立开发的。
Mathematica 的基础系统主要用C 语言开发,因此可以轻松移植到各种平台。 Mathematica 系统接受的命令称为表达式。系统接受表达式后,对其进行处理并返回计算结果。 Mathematica对于输入形式有比较严格的规则,要求用户输入系统规定的数学格式,系统才能正确处理。然而,3.0 版本引入了输入面板,现在可以修改和重新配置。版本中,输入指令时必须一直键入大小写字母切换的繁琐方法得到了极大的改进。 3.0 版允许您以多种格式保存文件和剪辑内容,包括RTF、HTML、BMP 和其他格式。
Mathematica的符号功能是最强的,其运行架构也是最好的。其架构由核心系统和前端系统组成。两个系统既协作又独立,这比Matlab的架构更有意义。 Mathematica 是专门为研究人员开发的。横向比较,Mathematica的符号能力比Maple强大得多,而且Mathematica主要是为中学生和大学生开发的,是物理研究的绝佳工具。用于技术和科学数值解决方案的工具。
四星级“数学”软件在数学一词两边加上引号。这是因为它超出了纯数学的范围,而这主要体现在针对不同学科的工具包的不断开发上。 Mathematica 在做数学和应用数学的能力方面不如Maple(不是说它不能;而是不需要编写程序就可以完成)。如果你会进行基本的编程,那么它与Fortran 这样的语言没有什么不同。还有一个问题是Mathematica 的内核没有Maple 稳定(计算速度比Maple 慢,而且我指的是纯粹的计算时间,而不是敲命令的时间;Maple 目前的Java 接口是相对失败的,这让人感觉Maple 是速度较慢,但实际情况并非如此。 Mathematica的吸引力在于它比其他数值软件可以进行符号运算,比Maple更容易做二次开发,而且它的工具包比Maple更好。此外,专有语言是面向对象的,使其极其强大和灵活。
优势:
符号计算非常强大,可以求解最广泛的方程。它是一种非常强大且灵活的语言,可以完成相同的任务,并且通常是高度集成的。它支持多种编程范例,包括过程式编程、函数式编程、元编程、逻辑编程和基于规则的编程。循环速度很慢,因此可以使用编译来加快速度,或者使用映射、表格、嵌套等代替循环。内置函数具有AAS(自动算法选择)机制,非常适合高精度、大容量计算和图形。 默认绘图比Matlab或Maple好,而且界面美观实用。输入公式。 坏处:
价格比matlab高(matlab的价格取决于你需要的工具箱)。矢量化操作比Matlab 稍慢,并且在某些情况下比Matlab 消耗更多内存。它对于调试代码不是很有用。然而,Wolfram Workbench(基于Eclipse IDE)改善了编程语言的陡峭学习曲线,除了那些熟悉Scheme或Haskell等函数式语言,或者将它们用作高级计算器的人(Mathematica的语法是这样的)。通用过程编程语言的一部分,但它也可以用作过程语言(尽管代码的速度和优雅性会显着降低)。
如果只需要一般计算或者普通用户的日常使用,高等数学功能对于普通用户来说已经足够了,而且它的输入界面也特别容易使用。
当您需要计算精度、符号计算和编程时,最好同时使用Maple 和Mathematica。有些符号运算Maple 无法处理,但Mathematica 可以处理其他符号运算。集成、寻找极限等。这些都很特别。
如果您需要矩阵计算或图形处理,请选择MATLAB。使用MATLAB的NoteBook功能和Word6.0/7.0的编辑功能轻松处理科学论文。
我个人认为Mathematica是第一,国外很多著名大学都用它来做分析计算、公式推导、证明、算法研究。数学分析的可视化是无与伦比的。与其他著名软件Maple相比,它的整体性能更加出色,毫无疑问,世界各地的量子物理和天体物理论文中的大部分形式化推导都是用它完成的,而且非常高端但易于使用。它是数学、力学、物理研究人员的好帮手,甚至数值计算也非常适合学术研究。最新版本的mathematica和Maple极大地改进了用户公式输入,使其更加方便和随意。
许多北美顶尖大学都要求您使用此工具完成弹性力学、板壳理论、有限元等数学力学理论课程的作业和项目。就我个人而言,作为一个从事计算力学的人,我认为从语言习得的角度来看,能够使用Mathematica来研究分析方法和数学模型,使用Matlab来实现数值算法就足够了。 (也使用Mathematica)和Fortran用于创建可执行源代码。无需深入研究多种语言或计算机软件。没有用。
符号微积分:积分是Mathematica 的强项,简化也是如此。有些Mathematica 允许直接集成,但Maple 需要替换集成。 Maple 擅长解析求解微分方程,但有许多微分方程的解析解是Mathematica 无法计算的。根据文献记载,Maple可以求解Kamke书中97%的微分方程。此外,Maple 还包含一个内置的intsolve 函数,可让您计算积分方程的稳健解析解。例如,eq:=f(x)=2*x^2- x+Int(f(t),t=0.2)中f(x)的积分方程,Maple写成intsolve(eq,f( x ) )=2*x^2-x-10/3 但Mathematica 无法解决它。
数值计算:Mathematica 更适合数值计算。主要区别在于只有Mathematica 可以求解数值滞后微分方程。此外,Mathematica 9 允许您求解随机微分方程,但Maple 不允许。总的来说,Mathematica 在这方面比Maple 更好。语言:Maple 与C 语言类似,因此它比Mathematica 更简单,并且比Mathematica 具有更好的Matlab 移植性。线性代数:Mathematica 可以在线性代数中做一些Maple 做不到的事情,而且Mathematica 比Maple 更快。计算代数几何:计算代数比Mathematica更强大,尤其是PolynomialIdeals运算,这是Mathematica中没有的。此外,多项式计算也比Maple 更快。因此,Maple 中的代数计算比Mathematica 中要好得多。 GUI:一般内容Maple 的GUI 与LATEX 的GUI 一样漂亮,而Mathematica 则适合GUI 编程。您必须同时使用Maple 和Mathematica。对于微分方程和积分方程,主要依靠Maple(对于随机微分方程,依靠Mathematica)。给Mathematica 点分。将计算代数几何、GUI 和编程留给Maple。将线性代数和数值计算留给Matlab 和Mathematica。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83853.html