python與matlab,選哪個

python與matlab,選哪個

如果要問我選哪個,我會建議兩個都選。很多人喜歡拿python和matlab對比,然後得出哪個更好的結論。其實吧,夠用就好。

如果是學生,或者研究人員,比如研究信號處理,那麼用matlab比較好,有大量現成工具箱和前人的成果可以借鑑。如果是產品化項目,那麼python比較好,可以做web後臺,可以打包成應用程序,效率相對matlab也要高那麼一點點。如果是信號、數據方面的工程人員,建議還是兩個都掌握吧,也不復雜,都是腳本式的語言,比C++什麼的易學多了。

下面從兩者各自的應用做個對比。

一、python的優勢

Python相對於Matlab最大的優勢:免費。國內可能不是很在乎這個,但在國外是個很關鍵的問題。

Python次大的優勢:開源。你可以大量更改科學計算的算法細節。

可移植性,Matlab必然不如Python。但你主要做Research,這方面需求應當不高。

第三方生態,Matlab不如Python。比如3D的繪圖工具包,比如GUI,比如更方便的並行,使用GPU,Functional等等。長期來看,Python的科學計算生態會比Matlab好。

語言更加優美。另外如果有一定的OOP需求,構建較大一點的科學計算系統,直接用Python比用Matlab混合的方案肯定要簡潔不少。

python作為一種通用編程語言,可以做做Web,搞個爬蟲,編個腳本,寫個小工具用途很廣泛。

二、matlab的優勢

  1. 學術界大量使用matlab做仿真,做研究的話容易找到代碼參考;
  2. 語法相對python更靈活一些,matlab寫程序基本不用套路,所謂老夫擼matlab就一個字,幹;
  3. 有simulink。有人說simulink沒什麼用,其實還是挺有用的,比如通信建模,另外simulink可以生產DSP或者FPGA代碼,有的時候很有用。

三、兩者的區別

python是一種通用語言,而matlab更像是一個平臺。

四、怎樣選擇

如果做研究,可以matlab為主;如果做產品,可以python為主。當然也有matlab做成產品的,打包成exe什麼的都不是事。


分享到:


相關文章: