个人观点
首先需要说明的是我们这里的“数值模拟(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)。
而对于深度学习,MATLAB的最新版本(R2021b)目前使用的还是CNN,LSTM之类的,现实的深度学习早已跨越了这些算法,现在使用的是Tensorflow, Pytorch, Transformers等更高级的深度学习算法和框架。
此外,在MATLAB开发的东西普及性较差,只能在小圈子内使用。例如,为了运行别人的一个2k的代码, 我必须在计算机安装个3G~20G的庞然大物---MATLAB。
Last but not least, 从计算效率的角度而言,MATLAB的循环迭代能力很差,这意味着如果想在MATLAB中开发大型的数值模拟软件,其效率是非常低下的。相比之下,Numpy的数学运算能力极强。
最新发布
-
如何绘画水果:工具准备与技巧详解?
2025-10-09 21:28:44 -
修真三国传2.8正式版 含隐藏英雄密码
2025-06-15 11:32:21 -
正则表达式30分钟入门教程
2025-07-29 02:00:04 -
Win11操作中心在哪里设置?如何找到操作中心?
2025-09-29 19:09:11 -
文强留守情妇今何在(陈光明生活照)
2025-07-05 14:37:34 -
郓城郓州宾馆预订价格,联系电话位置地址【携程酒店】
2025-05-20 12:29:22 -
机械革命是哪里的牌子,中国本土品牌(同方自研自产游戏本)
2026-07-03 03:41:36 -
《英雄聯盟》MSI季中冠軍賽參賽隊伍一覽
2026-02-25 02:41:14 -
新冠肺炎抗体检测一般多久能出来
2025-07-29 11:04:26 -
太阳系天体列表
2025-06-01 07:34:31