matlab不同版本功能差别_MATLAB与Python的比较
知乎视频www.zhihu.com我正巧两个语言都比较常用(我是从2010年开始使用MATLAB的, 从2013年开始使用Python.),从我的专栏里面就可以看出来:MATLAB Python 机器学习www.zhihu.com基于我的使用经验(肯定是不全面的, 比如我不用MATLAB的Simulink, 仅供参考):Python强于MATLAB的地方:1 可视化主要归功于Seaborn库。
我正巧两个语言都比较常用(我是从2010年开始使用MATLAB的, 从2013年开始使用Python.),从我的专栏里面就可以看出来:
MATLAB Python 机器学习www.zhihu.com
基于我的使用经验(肯定是不全面的, 比如我不用MATLAB的Simulink, 仅供参考):
Python强于MATLAB的地方:
1 可视化
主要归功于Seaborn库。
老版本的MATLAB绘图丑爆了, 新版本(最近几年, 具体哪个版本开始记不清了)的MATLAB绘图系统有大更新, 有美化, 但是还是不如seaborn.
知乎用户:仅就作图而言,Python 和 MATLAB 有可比性吗?www.zhihu.com2 机器学习
主要归功于scikit-learn。
从模型的个数和API统一性来看, scikit-learn完爆MATLAB.
3 深度学习
主要归功于pytorch,TensorFlow。
更新一下: 从R2019b开始, 引入了dlarray格式, 可以实现自动求导(梯度), 理论上应该具备和pytorch, Tensorflow一样从底层构建深度学习模型的能力, 实际效果怎么样, 我也是刚刚更新版本, 还不太清楚, 等我用过一段时间再说.
4 数据处理
主要归功于pandas库。
pandas简直是是神器, 这个没办法, 不是MATLAB太弱, 是pandas太强.
关于pandas是否强大, 不能从大类功能来看, 关键在于细节和质量.
比如马拉多纳和一个业余球员, 从大类技术上, 是一样的, 都会传球, 头球, 射门, 盘带等等. 但是质量上相差十万八千里.
我不是说pandas与MATLAB的差距有这么大, 只是想说明进行比较的时候, 不能从大类上比较, 要看细节, 看质量.
5 循环加速
主要归功于numba库.
MATLAB的循环加速的话, 目前来看, 好像只能靠mex技术(本质上是用C/C++语言重写).
我之前写过相关的性能测试文章:
[高性能实战案例] MATLAB,Julia, Python(Numba)
https://zhuanlan.zhihu.com/p/53416615zhuanlan.zhihu.com结果汇总一下(取平均值, 单位是秒):
MATLAB的向量化版: 10.207570
Julia的向量化版: 5.251
Julia的loop版: 2.952
Julia的loop2版: 1.731
Julia的loop3版: 0.321392
Python的numba版: 0.477
Julia, Python(Numba), C++, MATLAB 性能测试之“冰雹数”
https://zhuanlan.zhihu.com/p/51583154zhuanlan.zhihu.com运行时间总结(单位是秒), 取每种语言速度最快的那个版本:
MATLAB: 4.134375
Julia(@inbounds) 1.142
C++(我写的代码): 1.869
Python(numba) 1.13
MATLAB的地方强于Python的地方:
1 信号处理
2 IDE
MATLAB的IDE设计出来就天生适合做数据分析的. Python的Spyder就模仿MATLAB的界面, 但是只模仿了一部分, 还是不如MATLAB.
3 各种工具包统一的数据格式。
Python的各个包是不同的作者团队独立开发的, 因此, 难以做到数据格式统一, API统一.
总结:
Python发展迅猛, 已经抢占了不少领域了, 比如数据分析, 机器学习, 深度学习.
MATLAB还是有它优势的领域, 这些领域暂时无法被替代.
警告, 本文章只是一家之言, 基于有限的知识与经验, 更全面的了解, 可以参考以下的讨论:
MATLAB在逐渐被Python淘汰吗?
MATLAB在逐渐被Python淘汰吗?www.zhihu.com创作不易, 请大家"素质三连": 点赞, 收藏, 分享.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)