python代替mathematica_Mathematica 比起 Python 如今还有什么优势?

符号运算:这个应该是可以完爆所有编程语言包括MATLAB的,推公式神器,一个复杂的积分、极限可以全部交给mma去算,虽然有的时候他也有点蠢需要适当的引导,但是依然是不可取代的。这样在建模的时候,如非必要可以不带入数值,直接化简得到输出与输入参数的依赖关系。如果模型太过复杂,无法化简,也可以对其中的小量进行泰勒展开,取前几项进行化简,而泰勒展开需要的仅仅是一行代码。在我看来,其它编程语言做到的都是“模拟”而不是“建模”,建模的过程需要用户自己抽象,而mma是唯一可以直接得到解析的依赖关系的。

交互式编程:虽然python也可以交互式编程,但是从个人体验来说我觉得mma的交互式编程更好用些,其中的一些语法糖例如“%”的使用,非常适合交互式编程;再如“//”等,则兼顾了从左到右的阅读习惯,这在传统编程语言中都是找不到的。

快捷作图:当计算得到一个列表之后,mma可以很方便的通过一句“%//Plot”来迅速的画出函数图像,哪怕是三维图像(Plot3D)或者等势线图(ContourPlot,ContourPlot3D),都只需要甚至算不上一行的代码。这在探索而非生产用的编程(prototype programming)中非常实用。虽然python也只需要寥寥几行代码就可实现,但是有时核心功能不一定是为了画图,只是在探索过程中想直观地看到变量之间的依赖关系,这时从头import然后再plot、show,还是比mma要麻烦一些。

不过,mma内部的计算机制与一般的编程语言差异很大,所以优化起来也比较困难,需要对mma的计算机制了解很深才能写出跑起来很高效的代码,在数值模拟这一块,我暂时写出来的代码还是python更快,很多时候是用mma做初步建模,然后转移到python上做数值模拟。

每个语言都有自己最适合的应用场景,我希望做的就是把每个语言的长板拼到一起,组合成一个更大的木桶。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值