计算化学公社

 找回密码 Forget password
 注册 Register
Views: 6840|回复 Reply: 13
打印 Print 上一主题 Last thread 下一主题 Next thread

[综合交流] MATLAB和Python功能重复不? 如果会了matlab,还有必要学习python么

[复制链接 Copy URL]

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
谁知道, MATLAB 和 Python 功能重复不? 如果会了matlab , 还有必要学习python么

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

14#
 楼主 Author| 发表于 Post on 2019-6-23 09:59:50 | 只看该作者 Only view this author
SigFig 发表于 2019-6-22 08:39
看你的需求:
Matlab:
处理大量的数学语言(比如数学模型开发)

多谢指点~; 非常感谢指招 ~  

19

帖子

0

威望

84

eV
积分
103

Level 2 能力者

13#
发表于 Post on 2019-6-22 08:39:35 | 只看该作者 Only view this author
看你的需求:
Matlab:
处理大量的数学语言(比如数学模型开发)
Python:
Matlab能做的,python都能做
原形开发/方法开发(就是甭管效率怎么样能出结果就行)
日常文件处理/流程控制(把结构A做MM->PM7->DFT之类)
小型的视窗化程序(Tkinter/PyQt)
如果对效能有一些要求(cython之类的混合语言)
Fortran/C++:
想把某种方法做成一个专用软件(如sob的多重老婆)或者有长期的编程开发计划
对运算效能(计算资源分配,运行速度等)要求非常高,但对图形/可视化要求低
学习面向对象设计

作为一个同时学过C++和Python的py汪的有偏见的额外建议:
编程语言千千万,变量循环和判断,然后指针对象MVCDPGUI
学编程!=学某一门编程语言。
写代码之前,明确你现在的需求,以及你将来基于你这次实现的功能的需求如何变化
不明确需求就偏爱某种编程语言,就和不论剂量去谈某种物质的毒性一样无知。
Python对编程小白很友好,但不如C有深度。
不要用goto,不要用goto,不要用goto
有些大型软件使用Fortran,只是因为它们最初的版本用的是Fortran,后续的版本用Fortran维护成本更低,并不是因为Fortran的优越性。

评分 Rate

参与人数
Participants 2
eV +3 收起 理由
Reason
naoki + 1 好萌好萌好萌
卡开发发 + 2 我很赞同

查看全部评分 View all ratings

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

12#
 楼主 Author| 发表于 Post on 2019-5-26 10:20:19 | 只看该作者 Only view this author
sobereva 发表于 2019-5-26 04:45
接着LS提到的我说两句。如果对Fortran或C没有很熟的话,与其学Python,不如好好先把Fortran学了,Fortran在 ...

卢老师 说的有道理,您一直强调fortran的重要,参加完您的班,我更要抽出时间把fortran好好学学~ ,这个已经放到规划中~,  多谢卢老师指点~~

5万

帖子

99

威望

5万

eV
积分
112354

管理员

公社社长

11#
发表于 Post on 2019-5-26 04:45:11 | 只看该作者 Only view this author
接着LS提到的我说两句。如果对Fortran或C没有很熟的话,与其学Python,不如好好先把Fortran学了,Fortran在科学计算领域有关键性地位,学起来极快,相关的库数目甚巨。写个正经的以计算为主的程序完全不能脱离Fortran等传统语言,目前主流量化、第一性原理程序大半都是Fortran写的(如Gaussian、VASP)。在我来看,现在很多人唯Python是从,什么流行学啥,不肯好好先把Fortran/C学扎实、用熟,显得过于跟风,甚至浮躁了,这样的话始终写不出一个真正拿得出手、能给别人用的强有力的计算程序。(关于跟风py带来的坏处,有个典型例子:PySOC,见http://sobereva.com/411。明明全都用Fortran写起来很容易,还可以让程序在各个系统下不需要python环境就能直接跑,作者却非要把一部分弄成Python的,名字里还带个Py来彰显,结果,弄得一堆新人抱怨运行不了,机子里还得装恰当版本的python才能用,纯粹给用户添堵)
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

6

帖子

0

威望

741

eV
积分
747

Level 4 (黑子)

10#
发表于 Post on 2019-5-26 00:28:47 | 只看该作者 Only view this author
看楼主的回帖提到了速度
如果是运算速度的话,Python作为解释型语言,速度肯定是比不上C++的
不知道楼主对速度的要求到什么程度
但为了追求速度而学Python,应该说是不太明智的吧

另外,至少我个人觉得即使会了Matlab,学Python或其他编程语言还是有必要的
毕竟面对复杂一些的任务,需要写比较长的代码的时候,还是编程语言写起来友好一些
相信的心
是你的魔法

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

9#
 楼主 Author| 发表于 Post on 2019-5-24 23:34:40 | 只看该作者 Only view this author
卡开发发 发表于 2019-5-24 22:21
有了numpy,数值计算上python还是可以的。

多谢指点~

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

8#
发表于 Post on 2019-5-24 22:21:03 | 只看该作者 Only view this author
Scienceme 发表于 2019-5-24 20:43
matlab 确实非常的猛,几乎渗透到科学 工程 技术的各个领域。 如果对速度要求没那么高的话,基本是我的首 ...

有了numpy,数值计算上python还是可以的。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2019-5-24 20:43:40 | 只看该作者 Only view this author
granvia 发表于 2019-5-24 12:49
如果只想提高自己的工作效率,matlab比python好学,尤其数学功能语法简单强大。但如果想普及自己的code, 提 ...

matlab 确实非常的猛,几乎渗透到科学 工程 技术的各个领域。 如果对速度要求没那么高的话,基本是我的首选;现在 准备靠东python了~

1043

帖子

0

威望

4106

eV
积分
5149

Level 6 (一方通行)

6#
发表于 Post on 2019-5-24 12:49:54 来自手机 | 只看该作者 Only view this author
如果只想提高自己的工作效率,matlab比python好学,尤其数学功能语法简单强大。但如果想普及自己的code, 提高影响力,还是python。因为matlab是收费软件,一般老实人用不起

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2019-5-24 11:32:41 | 只看该作者 Only view this author
fhh2626 发表于 2019-5-23 17:06
这两个东西不太一样,matlab主要是用来做数值模拟,python的话基本上可以做除了高性能计算以外的所有事情

嗯嗯,多谢您的指点,这个论坛真的好~ ,非常感谢~

70

帖子

0

威望

172

eV
积分
242

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2019-5-24 11:31:45 | 只看该作者 Only view this author
robert2005 发表于 2019-5-23 15:54
这两个貌似功能不一样吧,虽然有相似的地方,但是差别也是比较明显的,百度了一下,前者偏数学的,后者是计 ...

多谢指点啊,我要开动Python了~~

1093

帖子

6

威望

6269

eV
积分
7482

Level 6 (一方通行)

3#
发表于 Post on 2019-5-23 17:06:42 | 只看该作者 Only view this author
这两个东西不太一样,matlab主要是用来做数值模拟,python的话基本上可以做除了高性能计算以外的所有事情

90

帖子

0

威望

656

eV
积分
746

Level 4 (黑子)

2#
发表于 Post on 2019-5-23 15:54:57 | 只看该作者 Only view this author
这两个貌似功能不一样吧,虽然有相似的地方,但是差别也是比较明显的,百度了一下,前者偏数学的,后者是计算机编程语言。
MATLAB [1]  是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python简介及应用领域编辑
Python是一种解释型脚本语言,可以应用于以下领域: [1]
Web 和 Internet开发
科学计算和统计
教育
桌面界面开发
软件开发
后端开发

二者功能差异还是很明显的。看用来干什么了

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 03:13 , Processed in 0.207693 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list