如何算是精通MATLAB?

陶佳奧


根據我讀研期間用MATLAB寫算法,畫圖,投稿IEEE的經驗,我認為有兩種維度來解讀什麼是精通。MATLAB除了是一個普通的編程語言,還是一個功能非常全面的數學軟件。

精通MATLAB編程

首先,我們都認可MATLAB屬於一種編程語言,因此,善於使用MATLAB的矩陣數組等屬性,快速實現一個算法或者快速將其他編程語言的邏輯移植到MATLAB語言上算是一種精通。

具體來說,這裡涉及到了不同語言的API裡支持的數據結構。好在新版本MATLAB裡已經增加了對C++,java,Python的支持,但是假如你運行在一箇舊版本的MATLAB裡,其中一些Java自帶的數據結構,MATLAB並不支持,像Stack,List等等。那麼在這個場景,如果要用MATLAB去實現一個list,可能就要基於矩陣,自己編寫add,remove,get等方法了。所以,想要精通MATLAB編程,不僅需要了解MATLAB的編程語言,還需要對算法與數據結構有一個很好的掌握。

精通MATLAB強大的畫圖與仿真功能Simulink

MATLAB最為人津津樂道的長處是它能夠產出各種高大上的數據視圖,我們上研究生時候,要給IEEE會議論文投稿,稿子裡對我們的算法性能對比,就是用的MATLAB的這個功能來實現的,這與編程能力的關係就沒有那麼緊密了,更多的更像精通PS,精通AE這種描述。

而Simulink是一個動態系統建模、仿真和綜合分析的集成環境。在該環境中,無需大量書寫程序,而只需要通過簡單直觀的鼠標操作,就可構造出複雜的系統。

因此這方面的精通,其實更多是從工具使用的角度出發去討論精通,而非邏輯思維能力。

綜上,基於MATLAB的特殊性,精通可分為兩個維度,能在任何一方面達到精通都是了不起的成就。

以上是我的淺見,歡迎大家在下方評論區給我留言交流。

我是蘇蘇思量,來自BAT的java開發工程師,每天分享科技類見聞,歡迎關注我,與我共同進步。


蘇蘇思量


精通一個軟件是很難的,特別是學生階段,課程多,學的東西比較廣泛。我用matlab的時候還是7.0版本,軟件大小大概1G左右,到現在都到十幾個G了。說實話一個是不可能精通的,看看工具箱有多少:

matlab中simulink說明書大概就有3000多頁。你想想光看完這些說明,不說消化吸收,都得需要多久。

matlab說白了就是一個工具,對於工具來說,重要的是去解決問題。平時學習matlab,把大概matlab的功能看看就行了,知道常用的工具箱,M語言怎麼用就行了。至於說精通,我個人覺得還是需要針對每個人的工作學習來說。因為每個人以後不知道會遇到什麼問題,,所以你經常用matlab來解決問題,這才是最重要的。比如,大學中學線性代數的時候,你用matlab來算算矩陣。以後做畢設的時候,用M語言來完成一些計算,畫畫圖什麼的。如果自己想開發一些工具,可以利用matlab裡面的GUI寫寫圖形界面的軟件,方便大家使用。比如大學有C語言,或者C++語言的課程,利用matlab來混合編程。很多專業課上的習題,用matlab做做,用一下數值計算方法,或者符號計算等等。甚至可以買一些便宜的硬件,比如Arduino,讓matlab來通信,做做數據測量,控制的的一些東西。

matlab是工具,能用成什麼樣,還是得看別的知識學的怎麼樣。比如矩陣怎麼,編程水平怎麼樣,專業的一些知識怎樣。matlab能做的,就是提高學習興趣,讓你能夠解決一些問題。

這是一些人分享matlab做的東西:

這是matlab代碼刷題的:


歷史是什麼


Matlab 本身是一套極端專業的工具,然而他的專業不在於軟件自身的複雜,恰恰相反,他的語法已經非常非常簡單。所以不存在精通Matlab 本身,與其說精通matlab ,不如說精通矩陣思維和矩陣計算,還有就是想要應用的相關領域。 見過最熟練的Matlab使用者是有直接在mathwork 工作的工程師,但即使是他,也常常需要用到 help


Randomlly


說到精通那我比較有發言權了。你只要是有利用MATLAB進行程序開發的本事應該就算精通了。說通俗點就是會用m文件編程序。根據你的項目需求,利用MATLAB將相應的功能實現,手到擒來應用自如。會編程序才能說是精通,其他的一些工具箱只是會用程序,本質是有區別的。


分享到:


相關文章: