Matlab從入門到精通(1)——學習書單與流程

Matlab是一門腳本編程語言,由於其上手簡單、函數庫齊全目前廣泛應用於各種科研領域。

今天就給大家講講從一名Matlab小白到熟練使用Matlab可以參考的書籍和流程。


在展開具體內容之前,首先希望大家建立一個概念Matlab知識一種功能比較齊全的編程工具,類似螺絲刀套組可以用來修電腦、修電視、修家電等等,但是學會了使用工具不等於學會了修電腦、修電視、修家電,深入理解算法思想和操作流程才是熟練使用Matlab進行科研的關鍵,如果不能做到這一點那說明你不是對Matlab小白而是對算法和你研究的內容小白。


下面我們開始啦。


一、學習Matlab的語法

(這是一堆介紹的廢話,不用看)Matlab是一套由Mathworks公司開發的編程平臺,相比一般的IDE,他具有更加完善的運行、調試等功能,同時也提供很多準備的預先的函數,其使用的編程語言為M語言,該編程語言的屬於腳本語言,主要的特性是無需編譯即可運行,對於第一次學習這種語言的同學可以簡單理解為這種語言跟C語言類似的一種語言,但是每一句程序都可以脫離主程序單獨的執行。


學習Matlab的第一步就是學習Matlab的m語言的語法,該語法與C語言類似,具體學習可以閱讀以下內容。

Matlab從入門到精通(1)——學習書單與流程

(以上教材是淘寶隨便找的40塊以下的,現在的教材真是太貴了,買不起買不起)

根據你對Matlab的瞭解進行選擇

  • Matlab軟件都沒摸過。可以從教材開始學習,但是也儘量選擇教材上的Matlab版本進行安裝(不同版本界面差距巨大),通過教材前幾章你可以基本瞭解Matlab的界面、操作流程、特性、基本的M語言語法。
  • 對Matlab聽說過,也知道大概的。可以通過各種網絡教材進行學習
    如果有餘力我也會考慮自己做一套,如果有人關注我的話)。
Matlab從入門到精通(1)——學習書單與流程

書和材料看一遍就行啦,不需要背誦,遇到問題了再預習

通過上面的學習你已經可以開始把Matlab當計算器用來,接下來先彆著急學別的,先用這臺計算器及來試試下面的題目。

  • 計算從1乘到100是多少(答案:9.332621544394410x10^157)
  • 計算從1到100000之間有多少個是素數,請只根據素數定義素數只能被1和自己整除判斷(答案:9592個)

上述題目主要判斷你是否學會了循環結構、判斷結構、是否瞭解了變量的存在。

完成上述題目後,你會發現Matlab當計算器非常好用,可以保留你每一步的計算步驟。並且Matlab的計算能力和計算方式可以做很多以前計算器上做不到的事情,快玩一玩你以前在計算器上玩過的運算把。



二、學習Matlab的常用函數

大家推崇Matlab的原因在於Matlab提供了大量的計算用的函數和專業領域的函數,進行開發時候,可以節省很多力氣。

這裡建議大家先學習計算用的函數,這是用Matlab進行運算的主要方式。主要包括以下幾大類

  • 統計函數。例如sum,min,max,mean等等。
  • 矩陣運算函數。例如det,inv,eig,svd,sum的矩陣用法,mean的矩陣用法,等等。
  • 畫圖函數。例如plot,stairs,mesh等等。
  • 輸出函數。例如fprintf,disp,fopen,fwrite等等。
  • 隨機函數。例如rand,randn等等
  • 自定義函數,學會自己寫一個簡單的函數。

如果你學習沒有思路可以參照以下內容

Matlab從入門到精通(1)——學習書單與流程

(以上教材是淘寶隨便找,手冊這玩意好貴又沒啥用,不是土豪別買)

你覺得你學會以後先把裡面的例子敲一遍(不要複製哦,自己敲),看看是否報錯(錯了大概率是你敲錯了)結果是否一樣。


通過上面的學習你已經可以開始把Matlab當成一個高級計算器來用了,接下來還是先彆著急學別的,用這臺計算器及來試試下面的題目。

  • 利用隨機生成函數生成大量的數,並把這些數連成曲線畫出來。
  • 利用matlab把你以前線代的作業翻出來檢查一遍,是不是一樣。(再也不用手算矩陣逆拉)
  • 其他你能想到的應用

完成上述步驟後,恭喜你已經基本學會Matlab的使用了。

Matlab從入門到精通(1)——學習書單與流程

如果你還是覺得無從下手說明你尚未深刻領悟你要實現東西的內在邏輯,需要換個方向努力哦。


三、學習專業領域裡的Matlab函數庫

前面說了大家推崇Matlab的原因在於Matlab提供了大量的計算用的函數和專業領域的函數,進行開發時候,可以節省很多力氣。因此進行具體的開發的時候大家肯定傾向於使用已有的東西,全部推導重做幹嘛還要Matlab呢,隨便找個腳本語言不一樣嘛。

這裡的學習可以根據專業領域選擇對應的Maltab教材,例如

Matlab從入門到精通(1)——學習書單與流程

(這些書都很貴,而且其例子的限制大部分也比較大,有一定的參考價值,圖書館能借到的話還是可以看一看)。

如果英文和專業基礎知識尚可的話我還是推薦儘量閱讀Matlab的幫助文件,裡面的介紹都很詳細。


四、寫的程序報錯了怎麼辦

大部分人按部就班的完成前面幾步之後,到寫自己的程序時,發現我的程序怎麼報錯了,這種情況大部分都是因為第一部學習的時候知識基礎並不紮實(實際這玩意看書一般也沒法紮實),此處的建議是

  • 把錯誤複製到百度上查一查,有很多大神提供答疑的。
  • 閱讀錯誤提示,根據提示修改代碼。
  • 學習別人正確的程序,對比不同。
  • 實在搞不定換一種方式實現,或者主動求助大神。

坑踩的多了,路才會平。

(為啥坑多呢,因為自學大部分就是這樣子滴)



總結一下,matlab的學習總體還是比較簡單的,難的是各類算法中的實現細節和想法,學會Matlab的使用只是開始用Matlab的第一步。


分享到:


相關文章: