MATLAB和Python 相互无法替代的地方有哪些,对于以后一直做科研的人,两种语言到底哪家强?
- WBOYOriginal
- 2016-06-06 16:23:094497Durchsuche
回复内容:
Python相对MATLAB的优势:
1. 通用编程语言,除了科学计算还可以做很多其他事情,比如web。
2. 字符串操作比MATLAB方便。注意即使是科研也经常操作字符串哦。典型结果是,很多人开始抛弃perl转用Python做生物信息学分析,而MATLAB尽管有生物信息学工具箱也没什么人用。(抱歉我不知道你要做哪个领域的科研,这个例子不一定对你适用。)
3. 免费。如果你没花大价钱买MATLAB而用的盗版,发文章要小心哦。但Python就没有这个问题。
MATLAB相对Python的优势:
1. 矩阵操作非常方便。我还没发现哪个语言操作矩阵比MATLAB还爽的,Python的numpy也不及。
2. 程序运行完了可以在workspace中查看结果,方便进一步观察。但Python使用特殊的包好像也能做,没试过不知道。
3. 某些特定领域,MATLAB的工具箱更让人信赖。毕竟敢卖那么贵,没点干货是不行的。而Python很多包的来源就很复杂了,像numpy这样的当然值得信任,但网上随便下的包就不好说了。
关于MATLAB的其他槽点请搜索“你什么时候对MATLAB感到绝望”。(爪机答,无法提供链接,抱歉。)
总的来说:
1. 同意楼上,你实验室大部分人用啥你就用啥。
2. 有余力的话,都学了,包括R、mathematica等。
师兄用啥你用啥,别想着标新立异
----------------------------------
MATLAB和Python都是很优秀很成熟的编程语言,相对而言前者偏重数值计算、信号仿真,后者偏重通用编程、网络操作;但MATLAB现在也有网络读写urlread/urlwrite以及正则表达式regexp等功能,而Python也提供了numpy、scipy科学计算模块以及酷炫的IPython Notebook。如果有余力有兴趣,最好是两者都有所涉猎,但具体到科研实际使用上还是“师兄用啥你用啥”。
对于大多数学科领域的研究人员而言,编程软件只是工具。前辈师兄用的是什么,你最好也用什么,这样能有效降低沟通交流成本,避免因工具转换造成的纠结折腾,避免重新发明轮子的窘境,把宝贵的时间和精力省出来用在科研主业上,我认为这才是做科研应有的专业态度。
过多地纠结于软件工具,就像码农圈“为什么 [X语言] 比 [Y语言] 更好”的流毒一样,都只是不专业的夸夸其谈,只适合业余票友用来吹牛逼。
来终结这类问题。
一、vczh的观点「牛人绝不会炫耀自己的工具」是很有道理的。算法、思想才是王道。语言选择对之后科研的影响没有你想得大;
二、现存的各种主流语言,没有任何一种会被其他语言完美替代,包括被黑到死的matlab和Java。也就是说,每种语言一定有自己的擅长领域;
三、选择语言,首先要充分了解所做的科研内容,然后借助搜索引擎的帮助进行选择。当然,前辈的建议也很值得参考;
四、有黑一门语言的精力,不如认认真真去解决一个语言问题。(此条与题主无关,纯借楼吐槽)
五、关于matlab和python,做数值计算和各种信号的仿真、数学建模时老师推荐的都是matlab,而我认识的几个数学系学生则偏好python(当然,他们的R语言是必修课)。其他的领域不了解。
都学
顺便R也学了
多会点总没错
真正的差异在于,python首先是程序设计语言,是开发工具,通过模块顺便提供了科学计算和仿真支持;matlab是计算和仿真工具,顺便提供了编程接口。两者的目的和面向的用户群一开始就是有差异的。理性的讲,matlab就是更容易上手更容易开工,python就是更容易自行设计大规模的程序。
完全同意说师兄用啥你用啥,做科学计算要的还是输出一个可以与人分享讨论的计算结果,与其纠结工具,不如用大家都用的东西。
真心求教,为什么老有人拿Python和MATLAB对比。我之前用MATLAB只是上课做过数字图像处理和信号处理,两个的共同点很多吗?Python也可以做这些吗?生成个频谱图什么的
Matlab 2015b已经兼容python了,号称可以当python的那些包作为toolbox
对于科研,都只是工具。两者各有优势,得看具体是什么科研吧。
MATLAB主要用于计算与仿真。Python的库很多,主要是编程。
你看一下你研究的领域用到哪些MATLAB与Python的工具,再作比较吧。
,话说,你指的科研是处理个数据什么,做个表格,建个数学模型,用python 会好蛋疼啊。matlab顺手还容易学
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn