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的。
APLmatlab 最主要的特色之一是 array programming 。而 APL 是最早支持 array programming 的語言之一。
推薦閱讀:
※沒有電腦能學習計算機語言嗎,?
※計算機專業研究生畢業剛剛參加工作,想要在2-3年後去美國灣區工作,需要作那些方面的準備?
※以linux,kali linux,python,c,ccna這五個為基礎入門網路安全方向行業怎麼樣?
※為什麼會形成電腦要要先點開始才能關機這種習慣?
※非數學,非計算機專業的我,對編程什麼的一竅不通的我要怎麼理解圖靈機的概念?