几大数学软件各有什么优缺点
2个回答
展开全部
曾经很喜欢折腾,至少用过有40多个数学软件,包括几乎所有出名的和一些不出名的,大型的中型的。其中3M(Matlab、Mathematica、Maple)用的较多,一些浅见:
Matlab
线性代数和数值计算方面优势显著,
向量化运算往往比同类软件更快,
拥有超多工具箱,仿真,图像处理,信号处理,金融,统计,优化......
程序语言比较易学,编辑和调试环境不错
方便构建GUI
不是原生支持符号计算(符号计算远不止是推导公式),新版的mupad内核还不错,但是和Mathematica、Maple比有明显差距,不论是深度、广度和速度
递归特别慢,比Mathematica和Maple以及常见的脚本语言都慢
在一些数学领域相对薄弱,如数论,图论,离散数学等
高精度和大数计算比较慢(如精确计算100万的阶乘或π的前500万位)
工具箱之间的协作能力不是很好
界面不太好看(新版R2013a的Ribbon界面不错)
缺省画图不美观,锯齿,系统函数命名不够规范
Mathematica
符号计算非常强大,可解的方程类型最广泛
非常强大和灵活的语言,完成相同的工作,和同类语言相比代码量往往最少
语言高度统一,支持相当多的编程范式,过程式、函数式、元编程,逻辑编程、基于规则...
循环比较慢,可以用Compile加速,或使用Map、Table、Nest等代替循环
许多内置函数具备AAS机制(AutomaticAlgorithmSelection)
擅长高精度和大数计算,
图形方面的函数很丰富,默认画图比Matlab和Maple更好看
界面美观,输入公式很方便
帮助文档很友好
价格较高,比matlab更贵(Matlab的价格取决于你要哪些工具箱)
向量化的操作比Matlab稍慢,有时比Matlab更耗内存
代码调试不是很方便,但可以用Wolfram Workbench(基于Eclipse的IDE)改善
程序语言学习曲线陡峭,排除熟悉Scheme、Haskell等函数式语言或者作为高级计算器使用的人
(Mathematica的语法和常见的过程式程序语言有较大不同,虽然也可以作为过程式语言来用,但代码的和速度和优雅程度就大打折扣了)
Maple:
符号计算非常强大,和Mathematica相比各有千秋
许多多项式操作比Mathematica更快
一些符号积分Maple也有速度优势(特别是不定积分),不过有时返回的结果没有Mathematica给出的更严谨、鲁棒性好,能算的积分类型没有Mathematica多
Maple的“适应性”更好,有的问题Mathematica需要一定的预处理才能算的更快,得出满意的结果
Maple更擅长(偏)微分方程,(其实Maple和Mathematica都能解一些对方解不了的一些特殊微分方程)
可以带步骤求解一些问题,Mathematica需要第三方的Package或借助WolframAlpha
上手较快,一些常见的操作无需命令,通过右键菜单就能完成
界面有点卡(基于Java swing),经典界面流畅但是很土
自带的代数方面的package比较丰富
化简能力,不等式求解,逻辑系统较Mathematica逊色一些
数值计算总体上比Matlab和Mathematica差一些
高精度和大数计算方面强于Matlab弱于Mathematica
统计方面有些薄弱
Matlab
线性代数和数值计算方面优势显著,
向量化运算往往比同类软件更快,
拥有超多工具箱,仿真,图像处理,信号处理,金融,统计,优化......
程序语言比较易学,编辑和调试环境不错
方便构建GUI
不是原生支持符号计算(符号计算远不止是推导公式),新版的mupad内核还不错,但是和Mathematica、Maple比有明显差距,不论是深度、广度和速度
递归特别慢,比Mathematica和Maple以及常见的脚本语言都慢
在一些数学领域相对薄弱,如数论,图论,离散数学等
高精度和大数计算比较慢(如精确计算100万的阶乘或π的前500万位)
工具箱之间的协作能力不是很好
界面不太好看(新版R2013a的Ribbon界面不错)
缺省画图不美观,锯齿,系统函数命名不够规范
Mathematica
符号计算非常强大,可解的方程类型最广泛
非常强大和灵活的语言,完成相同的工作,和同类语言相比代码量往往最少
语言高度统一,支持相当多的编程范式,过程式、函数式、元编程,逻辑编程、基于规则...
循环比较慢,可以用Compile加速,或使用Map、Table、Nest等代替循环
许多内置函数具备AAS机制(AutomaticAlgorithmSelection)
擅长高精度和大数计算,
图形方面的函数很丰富,默认画图比Matlab和Maple更好看
界面美观,输入公式很方便
帮助文档很友好
价格较高,比matlab更贵(Matlab的价格取决于你要哪些工具箱)
向量化的操作比Matlab稍慢,有时比Matlab更耗内存
代码调试不是很方便,但可以用Wolfram Workbench(基于Eclipse的IDE)改善
程序语言学习曲线陡峭,排除熟悉Scheme、Haskell等函数式语言或者作为高级计算器使用的人
(Mathematica的语法和常见的过程式程序语言有较大不同,虽然也可以作为过程式语言来用,但代码的和速度和优雅程度就大打折扣了)
Maple:
符号计算非常强大,和Mathematica相比各有千秋
许多多项式操作比Mathematica更快
一些符号积分Maple也有速度优势(特别是不定积分),不过有时返回的结果没有Mathematica给出的更严谨、鲁棒性好,能算的积分类型没有Mathematica多
Maple的“适应性”更好,有的问题Mathematica需要一定的预处理才能算的更快,得出满意的结果
Maple更擅长(偏)微分方程,(其实Maple和Mathematica都能解一些对方解不了的一些特殊微分方程)
可以带步骤求解一些问题,Mathematica需要第三方的Package或借助WolframAlpha
上手较快,一些常见的操作无需命令,通过右键菜单就能完成
界面有点卡(基于Java swing),经典界面流畅但是很土
自带的代数方面的package比较丰富
化简能力,不等式求解,逻辑系统较Mathematica逊色一些
数值计算总体上比Matlab和Mathematica差一些
高精度和大数计算方面强于Matlab弱于Mathematica
统计方面有些薄弱
派程(上海)软件科技有限公司
2023-06-12 广告
2023-06-12 广告
数学对于计算机一开始并没有什么影响,但是在你学有所成之后,开始接触复杂的内容的时候,数学能力就开始起作用了。很多计算机论文都是使用数学语言写的,对数学没有热情或者不够敏感的人将会很难跨过这个门槛学习一些书本上没有的东西。。
生产排程软件建议...
点击进入详情页
本回答由派程(上海)软件科技有限公司提供
展开全部
以 Matlab 为例,一般来说它被看成是最重要的数学软件,可是事实上 Matlab 更象是一个编程环境,而不是一个软件。
如果要比较,Matlab 应该和 python 之类做比较更好。和所有其它数学软件相比,Matlab 在编程方面的功能都远远胜出,不在一个水平线上.
Mathematica 才是一个真正意义上的数学软件,或者确切来说,是「计算软件」,是用来算东西的。比如算100的阶乘,比如一个多项式的根,比如画出一条曲线的形状。这些它可以做的非常好,但是也仅限于此。要用它开发出一个新算法是几乎做不到的。所以真正的数学研究或者相关领域的研究反而没人用 mathematica,就像数学家并不真的需要用计算器一样。
Mathcad 其实不是一个数学软件,而是一个「写数学」的软件,可以很方便的输入,但是长处也仅限于此。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询