个人见解:数值模拟中Python相较于MATLAB的优势

首先需要说明的是我们这里的“数值模拟(Numerical Modeling)”指的是有限元,边界元,离散元,深度学习之类的大型数值计算而不是普通意义上的数学(符号)运算。这个笔记简要讨论了数值模拟为什么优先使用Python而不是MTALAB。


根据2021年最新的编程语言流行榜,全球Top 5的编程语言排名依次为Python, Java, JavaScript, C#, C/C++, Matlab排名第12位。这意味着对于职业的软件工程师来说,学习Python比学习MATLAB更容易找到工作。MATLAB在中国主要是学术机构为了发表论文而使用,在工业界基本上没有立足之地。


MATLAB与Python一样,都属于解释性语言,二者最显著的差别是MATLAB为收费软件,而Python是免费的。也正是这个原因,专业的数值模拟软件都使用了Python作为扩展语言,例如Abaqus, ANSYS, FLAC3D(FLAC3D与Python的集成 (4)---zone.Zone类和方法), 3DEC, PFC, Plaxis(使用Python自动化执行Plaxis的命令流)等。因此以前使用MATLAB作为数值模拟数据的交换功能现在完全可以集成地用Python来代替,而MATLAB引以为自豪的数学运算功能使用基于Python的数据处理包Pandas, Numpy, Scipy等就能完全实现。


对于任何收费的软件,推出的功能一定是相对稳定的,这既是它的优点,但同时也是它的缺点。MATLAB的最新版本是R2021b, 目前只支持与Python 3.9的连接, 不支持Python 3.10(已经做过测试,可以连接的最高版本是3.9.9)。


个人观点---为什么数值模拟优先使用Python而不是MATLAB的图1

而对于深度学习,MATLAB的最新版本(R2021b)目前使用的还是CNN,LSTM之类的,现实的深度学习早已跨越了这些算法,现在使用的是Tensorflow, Pytorch, Transformers等更高级的深度学习算法和框架。

此外,在MATLAB开发的东西普及性较差,只能在小圈子内使用。例如,为了运行别人的一个2k的代码, 我必须在计算机安装个3G~20G的庞然大物---MATLAB。


Last but not least, 从计算效率的角度而言,MATLAB的循环迭代能力很差,这意味着如果想在MATLAB中开发大型的数值模拟软件,其效率是非常低下的。相比之下,Numpy的数学运算能力极强。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空