python和matlab哪個好?
一、Python簡介
本文引用地址:http://2s4d.com/article/201808/388133.htmPython是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議[2] 。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python執(zhí)行:
Python在執(zhí)行時,首先會將.py文件中的源代碼編譯成Python的byte code(字節(jié)碼),然后再由Python Virtual Machine(Python虛擬機)來執(zhí)行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。這里的高級并不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。
基于C的Python編譯出的字節(jié)碼文件,通常是.pyc格式。除此之外,Python還可以以交互模式運行,比如主流操作系統(tǒng)Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環(huán)境。直接下達操作指令即可實現(xiàn)交互操作。

Python的優(yōu)勢:
Python相對于Matlab最大的優(yōu)勢:免費。但既然你已經(jīng)能用上Matlab,想必不在乎這個了。
Python次大的優(yōu)勢:開源。你可以大量更改科學(xué)計算的算法細節(jié)。
可移植性,Matlab必然不如Python。但你主要做Research,這方面需求應(yīng)當不高。
第三方生態(tài),Matlab不如Python。比如3D的繪圖工具包,比如GUI,比如更方便的并行,使用GPU,F(xiàn)uncTIonal等等。長期來看,Python的科學(xué)計算生態(tài)會比Matlab好。
語言更加優(yōu)美。另外如果有一定的OOP需求,構(gòu)建較大一點的科學(xué)計算系統(tǒng),直接用Python比用Matlab混合的方案肯定要簡潔不少。
畢竟是通用的編程語言,做做Web,搞個爬蟲,編個腳本,寫個小工具啥的用處廣。

二、MATLAB簡介
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。
MATLAB和MathemaTIca、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。

Matlab的優(yōu)勢:
Community. 既然你們實驗室用Matlab,說明搞你們這個領(lǐng)域的大部分學(xué)者可能都用Matlab。交流起來必然更加方便。
Simulink, 只能說這是個良心作品,不過題主好像用不著……
Matlab本來號稱更快,但實際上由于Python越來越完善的生態(tài),這個優(yōu)勢已經(jīng)逐漸喪失了

Python相比于Matlab的最大優(yōu)勢是:Python是一門通用編程語言,實現(xiàn)科學(xué)計算功能的numpy、scipy、matplotlib只是Python的庫和Package而已,除此之外Python還有用于各種用途的庫和包,比如用于GUI的PyQt和wxPython,用于Web的Django和Flask
Matlab相比于Python最大的優(yōu)勢是:它專門就是給數(shù)值計算開發(fā)的,在數(shù)值計算這個領(lǐng)域庫最多、用的人最多、出的書最多

如果你做策略研究,做數(shù)據(jù)分析,兩者功能上差不多,但是應(yīng)該選擇matlab,因為:
1 Python的文檔沒有Matlab的詳細。
2 Matlab將所有的功能整合了在一起,而Python需要自己一個一個安裝所需要的包,不同的包的代碼風(fēng)格還不太一樣。
如果你還要做網(wǎng)絡(luò)爬蟲,數(shù)據(jù)清洗等偏IT的工作,那么Python更優(yōu)。
簡單的說,Python是通用語言,什么都能做,而matlab擅長計算。
評論