您的位置:首页 > 编程语言 > MATLAB

Python和Matlab

2013-04-13 23:22 232 查看
本文无意讨论Python和Matlab的优劣,虽然它们同是脚本语言,也都可以用于科学计算和数据挖掘。

IT界的某些朋友攻击Matlab的语法很糟糕,可能是不适应Matlab一切都基于函数的特点。毕竟和面向对象的语言比起来,这种松散的没有设计理念的编程方式的确是很ugly的。

做科学计算的朋友对Python也有自己的想法,虽然有了Numpy,SciPy,matplotlib等杀手级的科学计算库,而且这些库已经尽量将循环放在C语言级别进行以提高速度,朋友们还是觉得运行效率捉襟见肘。

至于Matlab是收费软件,不是自由软件等等诟病,对于身处中国的朋友们来说,并不构成问题。

从我自己的角度来说,对Python和Matlab都是抱着膜拜的心态的。Matlab的精髓是矩阵计算,单单这一招就算得上前无古人了,再加上它是脚本语言,这开发效率足可以秒杀C,C++几条街。同样的,Python在开发效率上也是举世闻名的;而且众多优秀的开源科学计算软件(包括OpenCV,VTK等)在Python中要么有相似功能的模块,要么有直接调用的API,这种众星捧月的范儿,也足以让数据农们倍感惊艳了。

如果说Python在科学计算方面效率达不到要求的话,那我可以不用它做科学计算,只做数据可视化和数据挖掘。这才是我的目的,呵呵~

再说了,若比运行效率,超过十万的规模的数据集,只能从架构方面去改进了,那就是分布式计算的内容了,同样没matlab啥事。

最后让我们看看Python和Matlab之间的可移植性吧,这个问题早有朋友总结过:《将你的科学计算从Matlab迁移到Python?》

这篇文章指出了一个很重要的问题,即使SciPy库的功能已足以应付科学计算,但在语法的简洁性上还是难以望Matlab之项背,例如矩阵连接,转置,乘法等基本操作用函数实现,显得笨手笨脚。再次感叹一下,Matlab的矩阵计算语法,真乃灵光闪现的设计!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: