如果要問我選哪個,我會建議兩個都選。很多人喜歡拿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的優勢
- 學術界大量使用matlab做仿真,做研究的話容易找到代碼參考;
- 語法相對python更靈活一些,matlab寫程序基本不用套路,所謂老夫擼matlab就一個字,幹;
- 有simulink。有人說simulink沒什麼用,其實還是挺有用的,比如通信建模,另外simulink可以生產DSP或者FPGA代碼,有的時候很有用。
三、兩者的區別
python是一種通用語言,而matlab更像是一個平臺。
四、怎樣選擇
如果做研究,可以matlab為主;如果做產品,可以python為主。當然也有matlab做成產品的,打包成exe什麼的都不是事。
閱讀更多 無線智聯網 的文章