matlab和什麼語言類似?

matlab挺有意思,想順水推舟再學點其他語言,不知道有誰比較類似的。。

ps 題主以前學C時要死要活毫無興趣。。。但是,很驚艷於最近用matlab做小程序和數據分析,故問之。


個人以為,編程語言都是工具,首先要明確自己需要什麼功能,然後再選擇什麼語言。

MATLAB是一個非常強大的語言,應用範圍很廣,包括:

數學方面:矩陣計算、優化、解方程(組),具有相似功能的語言還有mathematica,maple等語言。

機器學習、數據分析、計算機視覺等:包括聚類,分類,模式識別中的降維,特徵提取等等,具有類似功能的語言有python,R語言,JAVA。

自動化控制:主要用到simulink工具箱,這方面不知道有什麼替代的工具。

另外,在機械、土木等工科專業也有很多的應用。

MATLAB的特點是編寫速度快,對於沒有編程基礎的人上手難度也不大。在很多個領域都有現在的工具包,可以直接使用。所以,在高校或者科研院所用得最多。很多偏理論的科研人員,只需要模擬一些演算法的有效性來完成論文,而不需要做成應用型的產品,所以選擇MATLAB省時省力。

對於題主,需要認真考慮自己學編程的目的是什麼,如果是計算機系統、軟體設計方向,那可能得學c,c++,java之類,MATLAB無法滿足。如果是數學,那MATLAB可以勝任,多了解mathematica或maple也是必要的。機器學習數據挖掘方面,學習Python比較好。無論如何,多了解一門語言,也就多一種解決問題的途徑。


我覺得matlab和其它編程語言還是有區別的

C/C++ java以及其它web編程語言,目標定位是開發出一個可用的軟體,或者建設一個網站

matlab的目標並不是做出一個東西來,而是作為其它方面研究工作的輔助工具

比方很多大學老師帶研究生做科研的話,實驗一個新方法,往往會用matlab測試

我當年給老闆做苦力的時候,就把大量matlab的代碼用C/C++重寫以提高運行效率……

其實我在學校里玩matlab的時間比玩C++的時間多多了,C++主要是工作以後才深入的。當年我在人人上還寫過matlab的很多日誌,不過人人已註銷。。。

和其它語言相比,matlab語法上類似C是不用多說的,matlab的矩陣操作類似python的序列操作

當然如果你是想做學術方面的話其它的數學軟體如mathematica也可以考慮

C和Python之間的取捨參見怎樣做到C語言和Python能夠均衡的一起學習?


python的話,有一個平台叫做spyder,他是模仿matlab做的,包括界面也很像,比如一個地方寫命令行,另一個地方可以寫代碼文件,還有文件目錄,歷史記錄,變數窗口;

而且spyder(其實是pythonxy)的話,裡面自帶集成了很多數學計算的庫,你可以去找一下《用python做科學計算》這些書了解一下,網上很多高清的pdf。。

而且為什麼說它像matlab,因為pythonxy連代碼都很像,比如linspace,plot這些都是差不多的,但是你真正去學的時候倒是要注意一下python的語法和pythonxy的一些機制,很多深複製淺複製這些初學很容易搞錯的。。


Octave,斯坦福大學在Coursera上開的Machine Learning就是用Octave / Matlab的。


APL

matlab 最主要的特色之一是 array programming 。而 APL 是最早支持 array programming 的語言之一。


推薦閱讀:

沒有電腦能學習計算機語言嗎,?
計算機專業研究生畢業剛剛參加工作,想要在2-3年後去美國灣區工作,需要作那些方面的準備?
以linux,kali linux,python,c,ccna這五個為基礎入門網路安全方向行業怎麼樣?
為什麼會形成電腦要要先點開始才能關機這種習慣?
非數學,非計算機專業的我,對編程什麼的一竅不通的我要怎麼理解圖靈機的概念?

TAG:程序員 | 編程語言 | 編程 | 計算機 | MATLAB |