maple与matlab哪个好,Maple、Matlab、Mathcad、Mathematica哪个好用?

我说一下 Mathematica 有什么优势吧。Mathematica 和 Matlab 各有优势,Maple 的优势已经比较小了。

Mathematica 的确定是数值计算很多要比 MATLAB 慢很多。

例如我去创建一个 随机的 1000*1000 的矩阵和 1000 *1 的列矩阵,然后分别用 Mathematica 的LinearSolve 和 MATLAB 的 \ 来解方程,Mathematica 要比 Matlab 慢很多很多倍。

其实这也很好理解,Matlab 就是用来解决 这类线性问题的,\ 经过了不断的优化再优化,计算速度当然是极快了。

@Maplematica 在评论里面说的:LinearSolve比Matlab的"\"慢很多吗?我的测试结果显示两者速度几乎一致,都是0.15s~0.2s之间。不会是你生成的是整数矩阵吧,这样Mathematica默认是精确求解的,而Matlab是算的是浮点数。tic; a=rand(1000,1000); b=rand(1000,1); a\b ;toc; LinearSolve[RandomReal[1, {1000, 1000}],

RandomReal[1, {1000}] // AbsoluteTiming

那么 Mathematica 的优势是什么呢?

实际上我们可以把 Mathematica 看做一个个人科研助手。例如

我想看看我推导的式子对不对啊,可以用 Mathematica 机器推导检查一遍。

这个推导里面有个微分方程,解是什么样啊,可以直接用 NSolve,咦,这玩意没有解析解么?那我用 NDSolve 来看看。

有了数值了,我们想更直观些,那就顺手 Plot 画个图。

结果看起来不错,我们顺手写段文字,分析一下。

我们来举个例子吧。

例如我们要解决这一一个问题:

10 y'[x] + y[x] = Sin[x]

y[0] = 0

那么我们可以直接写:

DSolve[{10 y'[x] + y[x] == Sin[x], y[0] == 0}, y[x], x]

然后立刻得到

{{y[x] -> -(1/101) E^(-x/

10) (-10 + 10 E^(x/10) Cos[x] - E^(x/10) Sin[x])}}

如果我们有个强制的初始条件,y[0]=0 那么我们可以得到一个可以算的解啦。

这个例子,加上一个矩阵的例子,在 Mathematica 中写出来是这样的:

这就是 Mathematica 吸引人的地方。我们可以直接把自己的思路,文字图片,计算过程,等等,全部优雅的放在一起,可以说优雅的打草稿,甚至可以直接写出一篇漂亮的排版的文章。想想吧,这样的文章才叫好,计算过程都在里面了呢。

实际上,Mathematica 的数值计算也是很强大的,如果你是一个不是特别追求大规模计算,追求计算效率的项目,可以直接用 Mathematica 来做。而且实际上 Mathematica 现在很多都是有并行命令的,例如 Table 有 ParellelTable 类似并行的循环。可以节省很多时间。

另外就是 Mathematica 有很多很奇特的功能,例如强大的 Manipulate 和 Import

我们可以这么简单的一句话写出一个可以通过拖动横条来实时查看输出,输出可以使任何东西,可以使图画,可以使文字等等。

Mathematica 有强大的 Dynamic 功能,利用这个,可以实现很多方便的功能。例如我可以把输出结果放在最前面,使用 Dynamic 来事实更新结果,或者写一个漂亮的进度条。等等。

Import 功能叶非常强大,Import 和 Cases 结合一下,可以写出很好用的 爬虫,为什么不用 Python 写呢?因为 Python 写出来,还得自己排版处理,而 Mathematica 写出来的,可以直接排好版,然后输出,要多漂亮就多漂亮。

可以方便的像 脚本那样处理文本。数据的格式检测,数据的差错,等等。

还有最重要的一点,Mathematica 上手容易!

因为有一些这样的特性,所以 Mathematica 是一个非常棒的助手,学了 Mathematica 可以让很多事情变得很简单。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值