多次被朋友問到:如何快速入門并掌握MATLAB?礙于時間關系,總沒能做過多的思考。現在覺得很有必要将這個問題搞個詳細的分析。
1 如何快速入門MATLAB 并掌握MATLAB如果你是學計算機的可以直接跳轉到第二部分。建議你看看,可能會有所收獲。其實,任何一門程式語言都是相通的,這正是大學計算機課程為什麼隻開設一門程式設計課程就可以了的一個很大的原因。如果你有C的基礎就可以很快入門任何一門程式語言,加上幾天的上機摸索,多參考基本教程,如果你夠幸運一個星期就可以掌握一門程式語言。
MATLAB語言在歐美的使用程度就如同我們考試要帶電腦一樣,相當普及。任何一門課程都會使用MATLAB的。是以,對于工科學生來說,所學的任何一門課程,都可以用MATLAB來檢驗自己的學習程度。對于教材中的圖形,都可以用MATLAB來 重制;對于教材中所提出的所謂高深的理論或算法都可以編寫自己的程式來檢驗對其了解的程度。我的了解是:隻有你能夠把程式編寫出來,那就是真的了解該理論 了。比如,我在大三學電力系統分析的時候,就自己編寫了牛—拉法求潮流的程式,計算暫态穩定的簡單程式,計算發電機短路電流的程式等等。自然地這些專業課 程都學得不錯。
2 怎樣入門MATLAB經過多年的發展MATLAB的功能相當強大,積聚了當今世界上各行各業的頂級人士的精華。要學好、用好MATLAB不是短期所能為的。當然,要快速掌握它還是比較輕松的。大緻可以分為一下幾個階段。
2.1 MATLAB 基本操作這個階段的目的在于掌握M檔案和M函數的編寫,掌握MATLAB的文法規則。對任何一門程式的掌握都是通過掌握該程式的文法來完成的。語句的表達對于任何語言都是一樣的,如:x+y,x^2,sqrt(x)等等,是以重點是掌握語言三種結構的描述方法:順序結構、分支結構和循環結構。隻要知道了程式是怎麼順序執行的(有沒有标号、結束時用分号還是不用還是逗号)、分支結構中的if語句和switch語句和循環結構中的for語句和while語句是怎麼執行的,知道子程式的結構,那麼你就基本掌握該語言了,至于類呀什麼的,用到的時候再學。
在該階段對于學習MATLAB比較好的書大緻有
[1] 張平.MATLAB基礎應用簡明教程[M].北京:航空航天大學,2001.TP213MA/Z278
[2] 林雪松等.MATLAB7.0應用集錦[M].北京:機械工業出版社,2005.9. TP213MA/L534
[3] 姚俊等.simulink模組化與仿真[M].西安:西安電子科技大學,2002.8. TP213MA/Y237
2.2 提高階段當學了一種語言後,重在應用,不用很快就會生疏的。這時,可以看看别人是怎麼應用MATLAB來解決實際問題的,同時也學到了分析問題、解決問題的能力,以後用得到的。可以看的書大緻有
[1] 胡守信等.基于MATLAB的數學實驗[M].北京:科學出版社,2004. TP213MA/H499
主要側重于基本介紹。
[2] 劉福來等譯.用Maple和MATLAB解決科學計算問題[M].高等教育出版社/施普林格出版社,1999.5. TP213MA/G144
相對于對常微分方程描述較詳細。
[3] 曾建軍.MATLAB語言與數學模組化[M].合肥:安徽大學出版社,2005.6. TP213MA/Z173
涉及的面多一些,在看完前兩本後,可适當加強。
2.3 精通MATLABMATLAB包含的學科領域很廣,包括的工具箱很多,對電氣學科可能比較有用的工具箱大緻有:神經網絡工具箱、小波分析工具箱、模糊工具箱、控制工具箱、遺傳算法、支援相量機工具箱、随機微分方程工具箱等等。
大緻可以看以下的書籍
[1] 陳永春.MATLABM語言進階程式設計[M].北京:清華大學出版社,2003. TP213MA/C354-2
可隻看GUI界面設計部分,是設計GUI入門好書。
[2] 邱曉林.基于MATLAB的動态模型與系統仿真工具—Simulink3.0/4.x[M].西安:西安交通大學出版社,2003.10.TP391.9/Q376
該書有Simulink各個子產品的使用說明,是學Simulink時的重要參考書。
[3] 黃永安,馬路.MATLAB7.0/Simulink6.0模組化仿真開發與進階工程應用[M].北京:清華大學出版社,2005.12.TP391.9/H686
S函數是使用Simulink的最高境界,隻需看本書對應的一章即可,隻十幾頁。
2.4 參考書籍以下這些書籍是使用過程中的參考書,不必吃透,之後用到時翻翻,可能會提高程式代碼的效率,編寫出很多實用簡潔的算法程式。把它們當英語字典一樣用就可以了。
《精通MATLAB7》或《精通MATLAB6》等等
《MATLAB函數庫查詢辭典》
3 MATLAB 的一些使用算法參考書籍以下這些書籍中有當今很流行、很熱門的算法的原始代碼,程式都不長,很容易掌握,并為自己所用。
[1] 劉金琨.先進PID控制與MATLAB仿真[M].北京:電子工業出版社,2003.1.TP273/L587.2
該書是使用程式設計控制算法最好的書籍(個人認為),并且該書還包括了各種實用、流行且很熱的算法,比如:遺傳算法、模糊、神經網絡算法的基礎原始程式,是學習這些算法程式設計的最佳選擇。
[2] 劉金琨.滑模變結構控制與MATLAB仿真北京清華大學出版社,2005.10.TP273/L587.2-2
主要涉及各種滑模控制,S函數與Simulink仿真,各種神經網絡控制。
[3] 薛定宇.控制系統計算機輔助設計MATLAB語言與應用(2版)[M].北京:清華大學出版社,2005.7.TP273/X516a
該書被一直被認為是控制理論仿真最好的書籍,設計的東東有神經網絡PID的S函數仿真、遺傳算法、最小二乘線上辨識等等。
[4] 雷英傑.MATLAB遺傳算法工具箱及應用[M].西安:西安電子科技大學,2005.4.TP18/L259
該書是英國謝菲爾德大學版遺傳算法工具箱的中文版使用說明,該工具箱是使用最廣泛的遺傳算法工具箱,并有很多測試執行個體。可以很快嵌套到自己的項目中。
[5] 張曉華.系統模組化與仿真[M].北京:清華大學出版社,2006.12.N945.12/Z285
該書教你如何從最初的實體模型出發,抽象出數學模型,并最總用Simulink仿真,執行個體表述清晰各個案例都可以自己重制出來。學完該書後,任何模組化仿真的問題都不會稱為問題。
[6] 宋來忠等.數學模組化與實驗[M].北京:科學出版社,2005.O141.4/S736