首先说,MATLAB和Python没法放到一起比好坏。第一,这里的“MATLAB”指的如果是那个整套的软件的话,这个问题类似于在讨论C语言能不能干掉Windows。第二,如果指的是MATLAB中的脚本的话,这两个脚本语言本来就不通用,单独拿出来比较也没什么意义。
其次,如果要跟MATLAB比的话,有两种比法还是有参考价值的。
第一个是Anaconda跟MATLAB比。首先它俩都提供了组件、工程、配置等一系列管理能力。但是这两个比的话,Anaconda存在明显不足。毕竟MATLAB在GUI交互方面已经做得很好了。相比之下,Anaconda提供了Python环境的基本管理功能,但缺失了一些GUI功能,剩下的只是内嵌了一些IDE,比如Spyder、Jupyter Notebook之类的。如果要实现MATLAB类似的数据处理能力,还是要自己写不少代码的。
第二个用Python的某个Package与MATLAB中的某个Toolbox比。这两个都是提供基础功能的,要想用起来还是需要使用者自己开发。至于其他答案中提到的Simulink,我是没想出来Python领域能有什么跟它对应。
当然,我这样分析肯定会有Python支持者说:MATLAB那些功能没什么,用Python都能实现。没错!但是能实现是一回事,真正做出来又是另一回事。Python支持的东西多,就是因为它的主要形态还是一种开发语言,而没有形成类似MATLAB那样的商业解决方案。除非有人开发出一个基于Python的可用的商业解决方案版本,否则,如果大家都来用Python实现MATLAB类似的功能,这就相当于要求每个使用者自己用Python写一个MATLAB出来。这其中门槛有多高、重复的人力投入带来的浪费有多大、开发水平的参差不齐给科研成果带来的风险有多大?我想这些问题是在科研领域依旧使用MATLAB的重要原因之一。
希望题主在类似问题上能建立自己的判断能力,这类忽悠太多了,而且各有各的出发点。下面是近期刚吐槽的一个问题,给你参考:用python进行办公自动化都需要学习什么知识呢?www.zhihu.com
最后,提前向那个将来会提供更好的Python解决方案的个人或组织致敬~李阳 / 高级数据产品经理 / 《数据产品经理宝典》 / 公众号:数据有毒