新聞中心

python和matlab哪個(gè)好?

作者: 時(shí)間:2018-08-31 來源:網(wǎng)絡(luò) 收藏

一、Python簡(jiǎn)介

本文引用地址:http://m.butianyuan.cn/article/201808/388133.htm

Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議[2] 。Python語法簡(jiǎn)潔清晰,特色之一是強(qiáng)制用空白符(white space)作為語句縮進(jìn)。

Python執(zhí)行:

Python在執(zhí)行時(shí),首先會(huì)將.py文件中的源代碼編譯成Python的byte code(字節(jié)碼),然后再由Python Virtual Machine(Python虛擬機(jī))來執(zhí)行這些編譯好的byte code。這種機(jī)制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級(jí)的Virtual Machine。這里的高級(jí)并不是通常意義上的高級(jí),不是說Python的Virtual Machine比Java或.NET的功能更強(qiáng)大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實(shí)機(jī)器的距離更遠(yuǎn)?;蛘呖梢赃@么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。

基于C的Python編譯出的字節(jié)碼文件,通常是.pyc格式。除此之外,Python還可以以交互模式運(yùn)行,比如主流操作系統(tǒng)Unix/Linux、Mac、Windows都可以直接在命令模式下直接運(yùn)行Python交互環(huán)境。直接下達(dá)操作指令即可實(shí)現(xiàn)交互操作。


Python的優(yōu)勢(shì):

Python相對(duì)于Matlab最大的優(yōu)勢(shì):免費(fèi)。但既然你已經(jīng)能用上Matlab,想必不在乎這個(gè)了。

Python次大的優(yōu)勢(shì):開源。你可以大量更改科學(xué)計(jì)算的算法細(xì)節(jié)。

可移植性,Matlab必然不如Python。但你主要做Research,這方面需求應(yīng)當(dāng)不高。

第三方生態(tài),Matlab不如Python。比如3D的繪圖工具包,比如GUI,比如更方便的并行,使用GPU,F(xiàn)uncTIonal等等。長(zhǎng)期來看,Python的科學(xué)計(jì)算生態(tài)會(huì)比Matlab好。

語言更加優(yōu)美。另外如果有一定的OOP需求,構(gòu)建較大一點(diǎn)的科學(xué)計(jì)算系統(tǒng),直接用Python比用Matlab混合的方案肯定要簡(jiǎn)潔不少。

畢竟是通用的編程語言,做做Web,搞個(gè)爬蟲,編個(gè)腳本,寫個(gè)小工具啥的用處廣。


二、MATLAB簡(jiǎn)介

MATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。

MATLAB和MathemaTIca、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。


Matlab的優(yōu)勢(shì):

Community. 既然你們實(shí)驗(yàn)室用Matlab,說明搞你們這個(gè)領(lǐng)域的大部分學(xué)者可能都用Matlab。交流起來必然更加方便。

Simulink, 只能說這是個(gè)良心作品,不過題主好像用不著……

Matlab本來號(hào)稱更快,但實(shí)際上由于Python越來越完善的生態(tài),這個(gè)優(yōu)勢(shì)已經(jīng)逐漸喪失了


三、區(qū)別

Python相比于Matlab的最大優(yōu)勢(shì)是:Python是一門通用編程語言,實(shí)現(xiàn)科學(xué)計(jì)算功能的numpy、scipy、matplotlib只是Python的庫(kù)和Package而已,除此之外Python還有用于各種用途的庫(kù)和包,比如用于GUI的PyQt和wxPython,用于Web的Django和Flask

Matlab相比于Python最大的優(yōu)勢(shì)是:它專門就是給數(shù)值計(jì)算開發(fā)的,在數(shù)值計(jì)算這個(gè)領(lǐng)域庫(kù)最多、用的人最多、出的書最多


四、如何選擇

如果你做策略研究,做數(shù)據(jù)分析,兩者功能上差不多,但是應(yīng)該選擇,因?yàn)椋?/p>

1 Python的文檔沒有Matlab的詳細(xì)。

2 Matlab將所有的功能整合了在一起,而Python需要自己一個(gè)一個(gè)安裝所需要的包,不同的包的代碼風(fēng)格還不太一樣。

如果你還要做網(wǎng)絡(luò)爬蟲,數(shù)據(jù)清洗等偏I(xiàn)T的工作,那么Python更優(yōu)。

簡(jiǎn)單的說,Python是通用語言,什么都能做,而matlab擅長(zhǎng)計(jì)算。



關(guān)鍵詞: python matlab

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉