回复内容:
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顺手还容易学