標籤:

初學 Matlab 要如何開始?


我當時也在網上找了很久,各種教程也大概稍微看過,學了幾次都沒有很好學完(基礎),學下來。然後遇到了這個教程

Introduction to MATLAB

我對比了其他幾個教程,覺得這個教程最精髓,不會讓人感覺太基礎(不會在簡單的問題上花費非常多的時間來講,很多網上教程就是在簡單的問題上浪費時間,搞得人非常沒有耐心),而且該涉及的重要內容(都是非常常用有用的,所謂best practice)都涉及到了,最後一個章節,還延伸了下。

總得來說,這個教程把該講的技巧都講了,最常用的,最好用的都說了。而不像其他教程,要不就是沒有選擇性的把所有問題講一遍(很多根本不好用,或者類似,但卻反覆講,非常煩,浪費時間)。

學完這個教程,matlab基礎就差不多了(matlab本來就不能說是一個難的東西,難的不在語言)。然後就是進入專業領域問題,學會toolbox或者後面的數學,模型之類的。


我覺得Matlab的學習主要分三步:

第一步,了解基本語法。如果你有其它編程語言基礎,只需隨便找一本Matlab教材,在圖書館看一下午就夠了。命令太多怎麼辦?放心,除了一些基礎的東西以外,大多數內容很快就會被忘記的。你不需要現在就記住所有命令,要用的時候去查就好了。

第二步,增加知識的廣度。在這個階段主要是見多識廣:原來還有這個命令可以這麼用啊。你可以上MATLAB中文論壇和MATLAB技術論壇,還有就是每天學習一個小技能。見多識廣的好處就是在以後想完成某些操作的時候,至少能知道有哪個命令可能會有用。迷路時,最難的不是努力走,而是不知道往哪裡走。

第三步,增加知識的深度。在這個階段你可以做一些具體的項目,通過具體項目來學習是最好的方式。比如,如果你以後想做圖像處理,可以試著解決如何打開一張圖片,如何用矩陣處理圖像,如何做圖像插值放大,如何銳化圖像。

如果對Matlab使用中的經驗、教訓或者好玩的東西感興趣,可以關注我的微信公眾號「科學計算編點程(微信號:kexuebc)」哦。用卡通連載的形式,每天推送一條Matlab實用小技巧,例如:

學習Matlab的三個境界

歡迎關注~


我在這裡總結了一部分Matlab最基礎並且最常用東西,適用於初學者:

一、資源http://www.ilovematlab.cn/forum.php matlab中文論壇——這個網站會有很多免費matlab代碼資源

http://www.pudn.com 程序員聯合開發網——這個網站不是免費的,但很便宜,有很多matlab代碼資源

matlab群:4386671——這個matlab群比較活躍,有什麼問題可以在這裡面詢問,大牛也比較多;

二、matlab技巧

(1)matlab窗口:在你進行編程之前最好新建一個文件夾,然後把路徑定位到這個文件夾目錄下,方便存儲與調用,其中:Command History顯示你的歷史命令操作;Command Window 可以進行一些簡單的編程命令操作;Workspace顯示你的計算結果;

(2)matlab基本——Matlab2012b

一般編程的話需要首先建立一個.m文件,點擊+New即可:一般顯示是空白文檔,在進行編程之前最好先輸入如圖所示的clear all以及clc,可以掩蓋之前的計算結果,這個一定要加!!

點擊save保存到你之前自定義的路徑;

輸入代碼(記得每條語句後加「;」)之後,點擊Run運行,在workspace界面查看你的計算結果,如果你想直接輸出幾個計算結果,在你想輸出的結果後面不加「;」,

在Command window可以直接看到你的計算結果;

如果你想查看某一步的計算情況,可以點擊界面最左側的此步所對應的數字;

點擊Run運行之後在這步會出現下圖所示的綠色箭頭,點擊Step可以繼續下一步操作,若不想繼續,點擊Step Out可以直接運行至最終;

(3)matlab小技巧

小技巧1:在程序編碼的首末分別鍵入tic及toc,可以顯示最終的程序運行時間;

小技巧2:在Command windows界面輸入ctrl+c可以終止正在進行的程序;

小技巧3:ctrl+f 可以進行查找和替換;

小技巧4:Preferences裡面的Fonts可以更改界面字體的大小;

小技巧5:一般載入數據的話,可以用load **.txt,data=***(txt文件);或者data=xlsread(『**.xls』,』Sheet』,』A1:B2』)(讀取excel文件);

三、matlab編程——Matlab最大的優勢在於語句簡單,矩陣運算速度快,但是if循環等比較慢

(1)矩陣運算:一般教材書上講的比較詳細,需要記住的是數組之間的計算:.*以及./;

(2)類似於if,for,while這類的循環要記得加end;break語句會嵌套在while或for循環中,用於終止最內層循環;continue語句是結束本次循環,直接執行下一次循環;

四、自定義函數

一般自定義函數如下所示,function是必須寫的,result是想輸出的結果,add是自定義的函數名稱,x,y是輸入的參數值,然後保存之前所在是文件夾下,保存名稱需要與你的自定義函數名一致:之後就可以調用這個自定義函數。

註:(1)以上是Matlab的一些基本內容,最好是要熟練掌握的,不過不會的時候在百度輸入matlab **查詢一般都是可以解決的;(2)真正進行編程的時候,最好先將計算步驟與思路寫在出來,然後再轉化成變程序語句。

————加油[表情](^ω^)[表情]


以我學習過的經驗給樓主個建議:

先看 MATLAB揭秘,具有國外經典教材具有的共同特色,上手超快。有中文翻譯版,鄭碧波女士 義務翻譯的,我很敬佩、感激她!

接下來可以看 北航出版的 精通matlab2011a ,這本在國內算經典的了,可以再次系統的學習一下

接下來就看你的研究領域了,看一些專業的


對於自學,俺一貫的主張是到實踐中去學習,想想啊,花了幾個星期幾個月好不容易記住了語法了,一年不用,你還記得多少?反正俺是把C++給忘光了。。。

俺當年喜歡泡圖書館,記得學習線性代數的時候,在圖書館亂翻書,發現有本書附錄里貌似混進了很奇怪的東西,也挺好玩,然後把那個名字記下了,對,就是matlab!

然後回到宿舍就從校園網上下載了matlab7.0,隨便找了本厚一點的(俺覺得厚的有安全感)書開始照著搗鼓,把基本語法結構都練習了。本想順著書連下去,往後面一看,哇靠!這是什麼?!越看越不懂(俺笨)。只好作罷。如果你硬是想照著習題做下去,多半都是這樣的結局,因為matlab的超toolbox函數庫使其可以解決非常複雜的問題,而對於這些複雜問題,初學者是很可能不具備背景知識的。不信?隨便用help命令打開幫助文檔看看它的函數庫吧,一眼下去你明白多少?要善用help命令,多看其注釋跟實例。

本人最初使用matlab是在大學物理實驗的數據處理,也就是開始學習matlab後不久,看著很多童鞋們在格子紙上手繪的曲線,優越感油然而生啊有木有!這才是繼續學習的強大動力啊!

差不多10年來,斷斷續續一直在用matlab解決各種問題,最大的程序300多行代碼。感覺最大的難點在於如何掌握一個新的函數的用法。經常看了help文檔也是一頭霧水(俺笨again),這時候需要的是善用internet,網上各種matlab論壇是不錯的選擇,可以去討教;matlab的官方論壇MATLAB Central也不錯,當然google就可以了。

disclaimer:本人專業不需要很多數學,數學很廢,歡迎數學好的童鞋鄙視加無視。


1. 找本不超過兩百頁的word或者pdf教程,要有習題。仔細看兩遍,習題認真全做。全身心投入約須時一周。

2. 找個好論壇,找點小活做做,由易到難一點點挑戰自己,經常看看別人怎麼乾的,多看幫助文檔自助。

然後慢慢就上道了。如果自己就有相關工作要做那就更好了。

關鍵:矩陣化的編程思維,要強行培養。否則寫出的程序會非常垃圾。


這是官方的免費互動式教程,也就是相當於在線視頻+在線習題https://www.mathworks.cn/academia/student_center/tutorials/


先學下線性代數前幾章。知道什麼是矩陣,什麼是數組。它們是如何運算的。它們的元素索引是怎麼定義的。循環。簡單的邏輯判斷。再有問題可以看看help。

再有問題,可以來找我^_^


超級類似於C。。。

學過C 上手matlab快

做做matlab 編程,matlab 處理矩陣(linear、nonlinear programming),做做plotting。。。

我就是這麼做得


提供一個最簡單的最容易上手的學習方法。

第一步,找一篇師兄的小論文,最好是你做的方向,不是也可

第二步,找師兄要他這篇小論文的matlab願程序

(第一步第二步需配上請師兄吃飯若干次,效果更佳,如果你是女生,請忽略這一步)

第三步,讀師兄的小論文,理解其中的演算法,理解演算法,理解演算法,據說重要的事情要說三遍。

第四步,開始讀師兄的程序,(不會的函數查一下,只要你是工科出身,知道for if swich 讀matlab基本沒有障礙。)

恭喜你,現在你已經入門了!


help


首先要找一本對初學者比較友善而又簡單有效的書。

如果是工科生,推薦:

Applied Numerical Methods with MATLAB for Engineers and Scientists

以及Introduction to MATLAB for Engineers

這兩本書能讓你享受到既能練Matlab,又能順便提升數理化水平的快感。

接下來努力做題,盡量思考用不同的思路來解題。

多用help,多查查MATLAB Documentation

逛逛論壇,看看類似的問題,經常可以找到「原來還可以這樣啊」的妙招,提高姿勢水平。

水平逐漸提升的過程中,試著在自己的專業/研究領域中找到Matlab的用武之地。到了這一步Matlab技能點基本就算是點上啦,經驗值自然而然就會上漲的了。


正在摸索中。

還是覺得有人教比看書學上手快,然後上道後多練習多琢磨,就很快學會了。


首先,我們要明確matlab的定位,這是一個數學軟體,而不是一種語言或者編譯器。


這個問題我也來回答一下,當初學校教了MATLAB,但是沒學會。後來為了哄小師妹開心,PS:主要是幫忙做作業,就自學啦MATLAB。當然由於不是工作語言,不甚精通,但也算有初步的了解,就醬紫~


推薦閱讀:

大家用matlab有遇到過哪些槽點?
如何使用MATLAB畫三維的蘋果?
求問信號特徵提取matlab編程?
Matlab中disp、fprintf和sprintf有什麼區別?
matlab中如何實現三維圖像以指定角度旋轉,坐標軸不變?

TAG:MATLAB |