MathCAD与MATLAB、Mathematica的优缺点比较

  • A+
所属分类:知道百科

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 是最好的技术科学数值求解的工具。

就做数学和应用数学的能力来说 Mathematica 不如 Maple; 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 的语法和常见的过程式程序语言有较大不同, 虽然也可以作为过程式语言来用, 但代码的和速度和优雅程度就大打折扣了)

大家都在看:

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: