目录

  • 数学软件四大家族—MATLAB、MathCAD、Maple 和 Mathematica 优缺点比较
    • MATLAB 系统
    • MathCAD 系统
    • Maple V 系统
    • Mathematica 系统
    • 四种软件的比较

数学软件四大家族—MATLAB、MathCAD、Maple 和 Mathematica 优缺点比较

在科技和工程界上著名也比较流行的数学软件主要有四个, 它们分别为 MATLAB、MathCAD、Maple 和 Mathematica。

在不同的领域或者目标方向, 可谓各有特色。

MATLAB 系统

MATLAB 原是矩阵实验室 (Matrix Laboratory), 在 70 年代用来提供 Linpack 和 Eispack 软件包的接口程序, 采用 C 语言编写。从 80 年代出现 3.0 的 DOS 版本, 逐渐成为科技计算、视图交互系统和程序语言。MATLAB 可以运行在十几个操作平台上, 比较常见的有基于 Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux 等平台的系统。

MATLAB 程序主要由主程序和各种工具包组成, 其中主程序包含数百个内部核心函数, 工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且 5.x 版本还包含一套几十个的 PDF 文件, 从 MATLAB 的使用入门到其他专题应用均有详细的介绍。

MATLAB 是数值计算的先锋, 它以矩阵作为基本数据单位, 在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具, 同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB 在输入方面也很方便, 可以使用内部的 Editor 或者其他任何字符处理器, 同时它还可以与 Word6.0/7.0 结合在一起, 在 Word 的页面里直接调用 MATLAB 的大部分功能, 使 Word 具有特殊的计算能力。

优势:

  • 线性代数和数值计算方面优势显著,
  • 向量化运算往往比同类软件更快,
  • 拥有超多工具箱, 仿真, 图像处理, 信号处理, 金融, 统计, 优化。…
  • 程序语言比较易学, 编辑和调试环境不错
  • 方便构建 GUI

缺点:

  • 不是原生支持符号计算(符号计算远不止是推导公式), 新版的 mupad 内核还不错, 但是和 Mathematica、Maple 比有明显差距, 不论是深度、广度和速度
  • 递归特别慢, 比 Mathematica 和 Maple 以及常见的脚本语言都慢
  • 在一些数学领域相对薄弱, 如数论, 图论, 离散数学等
  • 高精度和大数计算比较慢(如精确计算 100 万的阶乘或π的前 500 万位)
  • 工具箱之间的协作能力不是很好
  • 界面不太好看(新版 R2013a 的 Ribbon 界面不错)
  • 缺省画图不美观, 锯齿, 系统函数命名不够规范

MathCAD 系统

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 强大的符号计算能力, 使得它发生了一个质的飞跃。

Maple V 系统

Maple V 是由 Waterloo 大学开发的数学系统软件, 它不但具有精确的数值处理功能, 而且具有无以伦比的符号计算功能。Maple V 的符号计算能力还是 MathCAD 和 MATLAB 等软件的符号处理的核心。Maple 提供了 2000 余种数学函数, 涉及范围包括: 普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言, 用户可以开发自己的应用程序, 而且 Maple 自身的 2000 多种函数, 基本上是用此语言开发的。

Maple 采用字符行输入方式, 输入时需要按照规定的格式输入, 虽然与一般常见的数学格式不同, 但灵活方便, 也很容易理解。输出则可以选择字符方式和图形方式, 产生的图形结果可以很方便地剪贴到 Windows 应用程序内。

5 个星的数学软件, 纯粹数学的巨人, 如果想做数学和应用数学的能力(数值的除外)其是最好的选择。但是此软件二次开发能力不好, 仅把软件的发展目标放在数学上, 不想向其它领域发展。Maple 自带的语言较容易理解, 就像用英语说话一样。

优势:

  • 符号计算非常强大, 和 Mathematica 相比各有千秋
  • 许多多项式操作比 Mathematica 更快
  • 一些符号积分 Maple 也有速度优势(特别是不定积分), 不过有时返回的结果没有 Mathematica 给出的更严谨、鲁棒性好, 能算的积分类型没有 Mathematica 多
  • Maple 的"适应性"更好, 有的问题 Mathematica 需要一定的预处理才能算的更快, 得出满意的结果
  • Maple 更擅长(偏)微分方程, (其实 Maple 和 Mathematica 都能解一些对方解不了的一些特殊微分方程)
  • 可以带步骤求解一些问题, Mathematica 需要第三方的 Package 或借助 WolframAlpha
  • 上手较快, 一些常见的操作无需命令, 通过右键菜单就能完成

缺点:

  • 界面有点卡(基于 Java swing), 经典界面流畅但是很土
  • 自带的代数方面的 package 比较丰富
  • 化简能力, 不等式求解, 逻辑系统较 Mathematica 逊色一些
  • 数值计算总体上比 Matlab 和 Mathematica 差一些
  • 高精度和大数计算方面强于 Matlab 弱于 Mathematica
  • 统计方面有些薄弱

Mathematica 系统

Mathematica 是由美国物理学家 Stephen Wolfram 领导的 Wolfram Research 开发的数学系统软件。它拥有强大的数值计算和符号计算能力, 在这一方面与 Maple 类似, 但它的符号计算不是基于 Maple 上的, 而是自己开发的。

Mathematica 的基本系统主要是用 C 语言开发的, 因而可以比较容易地移植到各种平台上, Mathematica 是一个交互式的计算系统, 计算是在用户和 Mathematica 互相交换、传递信息数据的过程中完成的。Mathematica 系统所接受的命令都被称作表达式, 系统在接受了一个表达式之后就对它进行处理, 然后再把计算结果返回。Mathematica 对于输入形式有比较严格的规定, 用户必须按照系统规定的数学格式输入, 系统才能正确地处理, 不过由于 3.0 版本引入输入面板, 并且可以修改、重组输入面板, 因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。3.0 版本可以用各种格式保存文件和剪贴内容, 包括 RTF、HTML、BMP 等格式。

Mathematica 的符号功能是最强的, 其运行构架也是最优的。它的构架由核心系统与前端系统构成。两个系统既合作又独立, 这比 Matlab 的构架要合理。Mathematica 是专为研究人员开发的。横向比较的话, Mathematica 的符号能力比 Maple 强很多, Maple 基本上是为中学生与大学生之学习研发的, 不适合进行物理学与技术科学的运演; 而 Mathematica 是最好的物理学科研的工具, Matlab 是最好的技术科学数值求解的工具。

4 个星的"数学"软件, 在数学二字上加引号是因为他已经超越了纯粹数学的范畴, 这主要表现在他不断开发的面向于不同学科的工具包。就做数学和应用数学的能力来说 Mathematica 不如 Maple(并不是说其做不了, 不怕麻烦编程序也能做, 但是话说回来基本的东西都编程序的话, 那么和 Fortran 之类的语言没什么区别了)。另一个问题是 Mathematica 的内核不如 Maple 稳定(计算速度较 Maple 慢, 我是说纯粹的计算时间, 不是输入命令的时间, 目前的 Maple 的 Java 界面比较失败, 让人感觉算 Maple 算得慢, 其实不是这样的)。Mathematica 的诱人之处是与其它数值软件相比可以做符号运算, 与 Maple 相比二次开发性好, 工具包比 Maple 做的好。此外, 其自带的语言是面向对象的, 很厉害, 很灵活。

优势:

  • 符号计算非常强大, 可解的方程类型最广泛
  • 非常强大和灵活的语言, 完成相同的工作, 和同类语言相比代码量往往最少
  • 语言高度统一, 支持相当多的编程范式, 过程式、函数式、元编程, 逻辑编程、基于规则。…
  • 循环比较慢, 可以用 Compile 加速, 或使用 Map、Table、Nest 等代替循环
  • 许多内置函数具备 AAS 机制 (AutomaticAlgorithmSelection)
  • 擅长高精度和大数计算, 图形方面的函数很丰富, 默认画图比 Matlab 和 Maple 更好看
  • 界面美观, 输入公式很方便
  • 帮助文档很友好

缺点:

  • 价格较高, 比 matlab 更贵 (Matlab 的价格取决于你要哪些工具箱)
  • 向量化的操作比 Matlab 稍慢, 有时比 Matlab 更耗内存
  • 代码调试不是很方便, 但可以用 Wolfram Workbench(基于 Eclipse 的 IDE) 改善
  • 程序语言学习曲线陡峭, 排除熟悉 Scheme、Haskell 等函数式语言或者作为高级计算器使用的人
  • (Mathematica 的语法和常见的过程式程序语言有较大不同, 虽然也可以作为过程式语言来用, 但代码的和速度和优雅程度就大打折扣了)

四种软件的比较

选用何种数学软件? 如果仅仅是要求一般的计算或者是普通用户日常使用, 首选的是 MathCAD, 它在高等数学方面所具有的能力, 足够一般客户的要求, 而且它的输入界面也特别友好。

如果要求计算精度、符号计算和编程方面的话, 最好同时使用 Maple 和 Mathematica, 它们在符号处理方面各具特色, 有些 Maple 不能处理的, Mathematica 却能处理, 诸如某些积分、求极限等方面, 这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理, 则选择 MATLAB, 它的矩阵计算和图形处理方面则是它的强项, 同时利用 MATLAB 的 NoteBook 功能, 结合 Word6.0/7.0 的编辑功能, 可以很方便地处理科技文章。

如果仅仅是要求一般的计算或者是普通用户日常使用, 首选的是 MathCAD, 它在高等数学方面所具有的能力, 足够一般客户的要求, 而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话, 最好同时使用 Maple 和 Mathematica, 它们在符号处理方面各具特色, 有些 Maple 不能处理的, Mathematica 却能处理, 诸如某些积分、求极限等方面, 这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理, 则选择 MATLAB, 它的矩阵计算和图形处理方面则是它的强项, 同时利用 MATLAB 的 NoteBook 功能, 结合 Word 的编辑功能, 可以很方便地编辑科技文章。

数学软件四大家族—MATLAB、MathCAD、Maple 和 Mathematica 优缺点比较相关推荐

  1. 数学软件四大家族——Maple、MATLAB、MathCAD和Mathematica优缺点比较

    目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是Maple.MATLAB.MathCAD和Mathematica.它们在各自针对的目标都有不同的特色. Maple V 系统 Maple ...

  2. dfp算法例题matlab,数学软件 之 基于MATLAB的DFP算法

    DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...

  3. dfp方法例题_数学软件 之 基于MATLAB的DFP算法

    DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...

  4. 02 数学软件与建模---MATLAB入门

    MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程.科学计算和数学学科中许多问题. MATLAB建立在向量.数组和矩阵的基础上, ...

  5. 数学实验测试软件,matlab数学软件实验测试题.doc

    matlab数学软件实验测试题 数学软件实验测试题 Matlab 作业电子版 姓名:** 学号:** 选择语句和循环语句编程 1. 用if语句实现以下的计算,其中的值从键盘输入. 请计算当 2. 当n ...

  6. 几大数学软件各有什么优缺点?

    其实数学软件之间是不太好比较的,因为面向的用户群体完全不同,彼此并不太构成竞争. 以 Matlab 为例,一般来说它被看成是最重要的数学软件,可是事实上 Matlab 更象是一个编程环境,而不是一个软 ...

  7. 数学计算机软件课程,《数学软件》课程教学大纲.doc

    PAGE PAGE 13 本 科 教 学 大 纲 学 院 (部): 信息工程学院 课 程 名 称: 数学软件 教务处 二○一七年十月 <数学软件>课程教学大纲 课程名称:(中文)数学软件 ...

  8. java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则

    点"考研竞赛数学"↑可每天"涨姿势"哦!  本讲主要内容:●基本数学函数及使用规则●基本初等函数运算举例及方法扩展规定:用于数学计算的函数简称为函数:把用于完成 ...

  9. 数学软件Matlab、Mathematica、Maple、Mathcad、SAS、SPSS、Lindo

    Matlab MATLAB是MathWorks公司推出 的一套高性能的数值计算和可视化软件,经过多年大量的.坚持不懈的改进,现在MATLA已经更新至7.x版.MATLAB集数值分析.矩阵运算.信号处理 ...

最新文章

  1. 命令 检查Linux服务器性能
  2. iOS---------关于野指针定位总结
  3. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令
  4. Xcode中的-ObjC和-all_load
  5. 今日头条架构演进之路——高压下的架构演进专题
  6. JS基础--ES5创建对象的7种模式
  7. mysql增加列并增加comment_运城多条高铁线路调整动车列数增加到99列
  8. iOS:在OC中调用JS脚本
  9. 软件需求规格说明书模板(Spec)
  10. stdio.h库函数
  11. 感知机学习算法的原始形式
  12. 华为的人才体系:任正非这样管理19万员工
  13. U8采购入库单单价修复sql
  14. matlab怎么求过渡矩阵,求过渡矩阵的方法
  15. python编程语言创始人-涨姿势!10位编程语言创始人,你都知道是谁吗?
  16. 什么是服务器的高并发
  17. valgrind:内存泄漏 memory leak 调试教程
  18. 2021小透明的年度总结
  19. 如何用python进行相关性分析_Python文章相关性分析---金庸武侠小说分析
  20. 晚上失眠白天没精神,怎么把这种状态调整回来!

热门文章

  1. Python中的质数运算(101到200)
  2. 玩转Sentinel流量控制/熔断降级自定义异常和兜底数据返回
  3. pli测试50题题库_PLI认知能力测试,谁懂这个?我面试刚做完,12分钟答了26道题,自我感觉没什么错误,有希望通过吗?...
  4. Android帧动画特点,Android帧动画和补间动画看这篇足够了
  5. springboot毕设项目学生成绩管理系统o8mkp(java+VUE+Mybatis+Maven+Mysql)
  6. ACM:Capricorn's Trial
  7. GPS人员定位系统:一种更安全高效的人员定位管理系统
  8. Netty系列之Netty基础概念与组件
  9. 《JAVA程序设计》期末考试复习题
  10. 转换 FLAC、APE 无损音乐格式为 iTunes 支持导入的 M4A 格式