Matlab基礎(chǔ)教程課件_第1頁
Matlab基礎(chǔ)教程課件_第2頁
Matlab基礎(chǔ)教程課件_第3頁
Matlab基礎(chǔ)教程課件_第4頁
Matlab基礎(chǔ)教程課件_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 它的首創(chuàng)者是美國新墨西哥大學(xué)計算機系的系主任Cleve Moler博士,他在教授線性代數(shù)課程發(fā)現(xiàn)其他語言很不方便,便構(gòu)思開發(fā)了MATLAB。最初采用FORTRAN語言編寫,20世紀80年代后出現(xiàn)了MATLAB的第二版,全部采用C語言編寫.1984年Moler博士和一批數(shù)學(xué)家及軟件專家創(chuàng)建了MathWorks公司,專門開發(fā)MATLAB。1993年出現(xiàn)了微機版,到2003年是6.5版(2) 一種演草紙式的科學(xué)計算語言一種演草紙式的科學(xué)計算語言.(3) MATLAB 是一高性能的技術(shù)計算語言是一高性能的技術(shù)計算語言. 強大的數(shù)值計算和工程運算功能符號計算功能強大的科學(xué)數(shù)據(jù)可視化能力 多種工具箱MA

2、TLAB可以進行:l數(shù)學(xué)計算、算法開發(fā)、數(shù)據(jù)采集l建模、仿真、原型 l數(shù)據(jù)分析、開發(fā)和可視化l科學(xué)和工程圖形應(yīng)用程序的開發(fā),包括圖形用戶界面的創(chuàng)建。MATLAB廣泛應(yīng)用于:l數(shù)值計算、圖形處理、符號運算、數(shù)學(xué)建模、系統(tǒng)辨識、小波分析、實時控制、動態(tài)仿真等領(lǐng)域。MATLAB的構(gòu)成:的構(gòu)成:lMATLAB開發(fā)環(huán)境:進行應(yīng)用研究開發(fā)的交互式平臺開發(fā)環(huán)境:進行應(yīng)用研究開發(fā)的交互式平臺lMATLAB 數(shù)學(xué)與運算函數(shù)庫:用于科學(xué)計算的函數(shù)數(shù)學(xué)與運算函數(shù)庫:用于科學(xué)計算的函數(shù)lMATLAB 語言:進行應(yīng)用開發(fā)的編程工具語言:進行應(yīng)用開發(fā)的編程工具l圖形化開發(fā):二維、三維圖形開發(fā)的工具圖形化開發(fā):二維、三維圖

3、形開發(fā)的工具l應(yīng)用程序接口應(yīng)用程序接口 (API):用于與其他預(yù)言混編:用于與其他預(yù)言混編l面向?qū)iT領(lǐng)域的工具箱:小波工具箱、神經(jīng)網(wǎng)絡(luò)工具面向?qū)iT領(lǐng)域的工具箱:小波工具箱、神經(jīng)網(wǎng)絡(luò)工具箱、信號處理工具箱、圖像處理工具箱、模糊邏輯工箱、信號處理工具箱、圖像處理工具箱、模糊邏輯工具箱、優(yōu)化工具箱、魯棒控制工具箱等幾十個不同應(yīng)具箱、優(yōu)化工具箱、魯棒控制工具箱等幾十個不同應(yīng)用的工具箱。用的工具箱。開發(fā)環(huán)境包括:命令窗口、圖形窗口、編輯窗口、幫助開發(fā)環(huán)境包括:命令窗口、圖形窗口、編輯窗口、幫助窗口。窗口。 命令窗口命令窗口可在提示符后輸入交互式命令可在提示符后輸入交互式命令 結(jié)果會自動的產(chǎn)生結(jié)果會自動的

4、產(chǎn)生例如:例如: MATLAB prompt () and cursor (|)command (typed at prompt)MATLAB output圖形窗口在窗口中輸入:lPlot(1,2,4,9,16,1,2,3,4,5)lMATLAB 畫出如下圖形: 編輯窗口 用來創(chuàng)建和修改M-files (MATLAB 腳本) 幫助窗口 MATLAB 語言的特點語言的特點Matlab的基本數(shù)據(jù)單元是不需指定維數(shù)的矩陣。的基本數(shù)據(jù)單元是不需指定維數(shù)的矩陣。Matlab的所有計算都是通過雙精度進行的,在的所有計算都是通過雙精度進行的,在內(nèi)存中的數(shù)都是雙精度的。內(nèi)存中的數(shù)都是雙精度的。double 是

5、一個雙精度浮點數(shù),每個存儲的雙精是一個雙精度浮點數(shù),每個存儲的雙精度數(shù)用度數(shù)用64位。位。char用于存儲字符,每個存儲的字符用用于存儲字符,每個存儲的字符用16位。位。 MATLAB程序構(gòu)成 程序程序M文件與文件與m函數(shù)函數(shù)圖形顯示圖形顯示流程控制流程控制其它輸出其它輸出函數(shù)函數(shù)語句語句變量變量各種運算符各種運算符常變量及其命名規(guī)則常變量及其命名規(guī)則 變量名可以有數(shù)字、字母、下劃線構(gòu)成;變量名可以有數(shù)字、字母、下劃線構(gòu)成; 變量的首字符必須是字母變量的首字符必須是字母; 區(qū)分變量名的大小寫區(qū)分變量名的大小寫 每個變量名最長只能包含每個變量名最長只能包含1919個字符。個字符。 MATLAB中

6、預(yù)定義變量中預(yù)定義變量Ans 分配最新計算表達式的值,這個表達式并沒有給定一個名字lEps 返回機器精度lRealmax 返回計算機能處理的最大浮點數(shù)lRealmin 返回計算機能處理的最小的非零浮點數(shù)lPi ,3.14159265lInf 定義為1/0 。當(dāng)出現(xiàn)被零除時,Matlab就返回inf,并不中斷執(zhí)行而繼續(xù)計算lNaN 定義為“Not a Number”,這個非數(shù)值要么是類型,要么是inf/inf向量的創(chuàng)建l在matlab的命令窗口鍵入以下字符l a = 1 2 3 4 5 6 9 8 7l a = l 1 2 3 4 5 6 9 8 7l 希望得到元素從0到20,步距為2的一個向量

7、,只需鍵入以下命令即可l t = 0:2:20l t = l 2 4 6 8 10 12 14 16 18 20矩陣的創(chuàng)建矩陣的創(chuàng)建輸入矩陣時每一行元素有分號或者回車鍵輸入矩陣時每一行元素有分號或者回車鍵分隔。例如:分隔。例如:l l B = 1 2 3 4;5 6 7 8;9 10 11 12l B =l 1 2 3 4l 5 6 7 8l 9 10 11 12各各種種運運算算符符語句語句Matlab語言最基本的賦值語句結(jié)構(gòu)為:語言最基本的賦值語句結(jié)構(gòu)為:變量名列表變量名列表=表達式表達式注注1:整個賦值語句以;結(jié)束,則不在屏幕上返:整個賦值語句以;結(jié)束,則不在屏幕上返回結(jié)果,否則立即返回結(jié)

8、果?;亟Y(jié)果,否則立即返回結(jié)果。注注2:多個語句可在同一行,用逗號分開。:多個語句可在同一行,用逗號分開。注注3:表達式太長可以用續(xù)行符號:表達式太長可以用續(xù)行符號函數(shù)函數(shù)lMatlab由包括許多標準函數(shù),每個函數(shù)由包括許多標準函數(shù),每個函數(shù)都完成某一特定功能的代碼組成。都完成某一特定功能的代碼組成。 lMatlab也允許用戶編寫自己所需的函數(shù),也允許用戶編寫自己所需的函數(shù),其擴展名為其擴展名為.m,其中必須以關(guān)鍵字,其中必須以關(guān)鍵字function開頭開頭.流程控制流程控制l循環(huán)語句循環(huán)語句 for, whilel條件轉(zhuǎn)移條件轉(zhuǎn)移 if end, if elseif else endl開關(guān)語句

9、開關(guān)語句 switch casel注釋語句注釋語句 %l中斷語句中斷語句 breakl暫停語句暫停語句 pausel回顯語句回顯語句 echo on/off1 1、for循環(huán)語句循環(huán)語句基本格式基本格式for for 循環(huán)變量起始值:步長:終止值循環(huán)變量起始值:步長:終止值 循環(huán)體循環(huán)體 endend步長缺省值為步長缺省值為1 1,可以在正實數(shù)或負實數(shù),可以在正實數(shù)或負實數(shù)范圍內(nèi)任意指定。對于正數(shù),循環(huán)變量范圍內(nèi)任意指定。對于正數(shù),循環(huán)變量的值大于終止值時,循環(huán)結(jié)束;對于負的值大于終止值時,循環(huán)結(jié)束;對于負數(shù),循環(huán)變量的值小于終止值時,循環(huán)數(shù),循環(huán)變量的值小于終止值時,循環(huán)結(jié)束。循環(huán)結(jié)構(gòu)可以嵌

10、套使用。結(jié)束。循環(huán)結(jié)構(gòu)可以嵌套使用。 for i=1:5for i=1:5 for j=1:5 for j=1:5 a(i,j)=1/(i+j-1); a(i,j)=1/(i+j-1); end endendenda=a= 1.0000 0.5000 0.3333 0.2500 0.2000 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.16670.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.3333 0.2500

11、0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.11112、while循環(huán)語句循環(huán)語句基本格式基本格式while 表達式表達式 循環(huán)體循環(huán)體 end若表達式為真,則執(zhí)行循環(huán)體的內(nèi)容,若表達式為真,則執(zhí)行循環(huán)體的內(nèi)容,執(zhí)行后再判斷表達式是否為真,若不為執(zhí)行后再判斷表達式是否為真,若不為真,則跳出循環(huán)體,向下繼續(xù)執(zhí)行。真,則跳出循環(huán)體,向

12、下繼續(xù)執(zhí)行。While循環(huán)和循環(huán)和for循環(huán)的區(qū)別在于,循環(huán)的區(qū)別在于,while循環(huán)結(jié)構(gòu)的循環(huán)體循環(huán)結(jié)構(gòu)的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而被執(zhí)行的次數(shù)不是確定的,而for結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是確定的。確定的。用用while循環(huán)語句編寫一個計算循環(huán)語句編寫一個計算1000以內(nèi)的以內(nèi)的Fibonacci數(shù):數(shù): f=1 1; i=1; while f(i)+f(i+1)1000 f(i+2)=f(i)+f(i+1); i=i+1; end f= 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 9873、if,else,elseif語

13、句(1)if 邏輯表達式 執(zhí)行語句 end(2)if 邏輯表達式 (3) if 邏輯表達式1 執(zhí)行語句1 執(zhí)行語句1 else elseif 邏輯表達式2 執(zhí)行語句2 執(zhí)行語句2 end end4、switch語句 switch 表達式(可以是標量或字符串) case 值1 語句1 case 值2 語句2 . otherwise 語句3 endMATLAB程序的基本組成結(jié)構(gòu)程序的基本組成結(jié)構(gòu)說明說明清除命令:清除命令:清除清除workspace中的變量和圖形中的變量和圖形(clear,close)定義變量:定義變量:包括全局變量的聲明及參數(shù)值的設(shè)定包括全局變量的聲明及參數(shù)值的設(shè)定逐行執(zhí)行命令:

14、逐行執(zhí)行命令:指指MATLAB提供的運算指令或工具箱提供的運算指令或工具箱 提供的專用命令提供的專用命令控制循環(huán)控制循環(huán) : 包含包含for,if then,switch,while等語句等語句 逐行執(zhí)行命令逐行執(zhí)行命令 end繪圖命令:繪圖命令:將運算結(jié)果繪制出來將運算結(jié)果繪制出來l當(dāng)然更復(fù)雜程序還需要調(diào)用子程序,或與當(dāng)然更復(fù)雜程序還需要調(diào)用子程序,或與simulink以以及其他應(yīng)用程序結(jié)合起來。及其他應(yīng)用程序結(jié)合起來。MATLAB的程序類型有三種,一種是在命令窗口下執(zhí)行的腳本的程序類型有三種,一種是在命令窗口下執(zhí)行的腳本M文件;另外一種是可以存取的文件;另外一種是可以存取的M文件,也即程序

15、文件;最后一文件,也即程序文件;最后一種是函數(shù)(種是函數(shù)(function)文件。)文件。 1、腳本、腳本M文件文件在命令窗口中輸入并執(zhí)行,它所用的變量都要在工作空間中獲取,在命令窗口中輸入并執(zhí)行,它所用的變量都要在工作空間中獲取,不需要輸入輸出參數(shù)的調(diào)用,退出不需要輸入輸出參數(shù)的調(diào)用,退出MATLAB后就釋放了。后就釋放了。 2、程序、程序M文件文件l以以.m格式進行存取,包含一連串的格式進行存取,包含一連串的MATLAB指令和指令和必要的注解。需要在工作空間中創(chuàng)建并獲取變量,必要的注解。需要在工作空間中創(chuàng)建并獲取變量,也就是說處理的數(shù)據(jù)為命令窗口中的數(shù)據(jù),沒有輸也就是說處理的數(shù)據(jù)為命令窗口

16、中的數(shù)據(jù),沒有輸入?yún)?shù),也不會返回參數(shù)。入?yún)?shù),也不會返回參數(shù)。l程序運行時只需在工作空間中鍵入其名稱即可。程序運行時只需在工作空間中鍵入其名稱即可。3 3、函數(shù)文件、函數(shù)文件與在命令窗口中輸入命令一樣,函數(shù)接受輸入?yún)?shù),然后執(zhí)與在命令窗口中輸入命令一樣,函數(shù)接受輸入?yún)?shù),然后執(zhí)行并輸出結(jié)果。用行并輸出結(jié)果。用helphelp命令可以顯示它的注釋說明。命令可以顯示它的注釋說明。具有標準的基本結(jié)構(gòu)。具有標準的基本結(jié)構(gòu)。 (1)函數(shù)定義行(關(guān)鍵字)函數(shù)定義行(關(guān)鍵字function)lfunctionout1,out2,. = filename(in1,in2,.)l輸入和輸出(返回)的參數(shù)個數(shù)分

17、別由輸入和輸出(返回)的參數(shù)個數(shù)分別由nargin和和nargout兩個兩個MATLAB保留的變量來給出。保留的變量來給出。(2)第一行幫助行,即)第一行幫助行,即H1行行l(wèi)以(以(%)開頭,作為)開頭,作為lookfor指令搜索的行指令搜索的行(3)函數(shù)體說明及有關(guān)注解)函數(shù)體說明及有關(guān)注解l以(以(%)開頭,用以說明函數(shù)的作用及有關(guān)內(nèi)容)開頭,用以說明函數(shù)的作用及有關(guān)內(nèi)容(4)函數(shù)體語句)函數(shù)體語句l函數(shù)體內(nèi)使用的除返回和輸入變量這些在函數(shù)體內(nèi)使用的除返回和輸入變量這些在function語句中語句中直接引用的變量以外的所有變量都是局部變量,即在該直接引用的變量以外的所有變量都是局部變量,即

18、在該函數(shù)返回之后,這些變量會自動在函數(shù)返回之后,這些變量會自動在MATLAB的工作空間的工作空間中清除掉。如果希望這些中間變量成為在整個程序中都中清除掉。如果希望這些中間變量成為在整個程序中都起作用的變量,則可以將它們設(shè)置為全局變量。起作用的變量,則可以將它們設(shè)置為全局變量。 MATLAB提供了豐富的繪圖功能提供了豐富的繪圖功能help graph2d可得到所有畫二維圖形的命可得到所有畫二維圖形的命令令help graph3d可得到所有畫三維圖形的命可得到所有畫三維圖形的命令令1 1、基本的繪圖命令、基本的繪圖命令plot(x1,y1,option1,x2,y2,option2,)x1,y1x

19、1,y1給出的數(shù)據(jù)分別為給出的數(shù)據(jù)分別為x,yx,y軸坐標值,軸坐標值,option1option1為選項參數(shù),以逐點連折線的方式繪制為選項參數(shù),以逐點連折線的方式繪制1 1個二個二維圖形;同時類似地繪制第二個二維圖形。維圖形;同時類似地繪制第二個二維圖形。這是這是plotplot命令的完全格式,在實際應(yīng)用中可以根命令的完全格式,在實際應(yīng)用中可以根據(jù)需要進行簡化。比如:據(jù)需要進行簡化。比如:plot(x,y)plot(x,y);plot(x,y,option)plot(x,y,option)選項參數(shù)選項參數(shù)optionoption定義了圖形曲線的顏色、線型及定義了圖形曲線的顏色、線型及標示符號

20、,它由一對單引號括起來。標示符號,它由一對單引號括起來。2 2、選擇圖像、選擇圖像 figurefigure(1 1););figurefigure(2 2););figure(n)figure(n) 打開不同的圖形窗口,以便繪制不同的圖形。打開不同的圖形窗口,以便繪制不同的圖形。3 3、grid ongrid on:在所畫出的圖形坐標中加入柵格在所畫出的圖形坐標中加入柵格 grid offgrid off:除去圖形坐標中的柵格除去圖形坐標中的柵格4 4、hold onhold on:把當(dāng)前圖形保持在屏幕上不變,同時把當(dāng)前圖形保持在屏幕上不變,同時 允許在這個坐標內(nèi)繪制另外一個圖形。允許在這個

21、坐標內(nèi)繪制另外一個圖形。 hold offhold off:使新圖覆蓋舊的圖形使新圖覆蓋舊的圖形5 5、設(shè)定軸的范圍、設(shè)定軸的范圍 axisaxis(xmin xmax ymin ymaxxmin xmax ymin ymax) axis(equal)axis(equal):將:將x x坐標軸和坐標軸和y y坐標軸的單位刻度大坐標軸的單位刻度大小調(diào)整為一樣。小調(diào)整為一樣。6、文字標示、文字標示text(x,y,字符串字符串)在圖形的指定坐標位置在圖形的指定坐標位置(x,y)處,標示單引號括起來的字處,標示單引號括起來的字符串。符串。ltitle(字符串字符串)在所畫圖形的最上端顯示說明該圖形標

22、題的字符串。在所畫圖形的最上端顯示說明該圖形標題的字符串。lxlabel(字符串字符串),ylabel(字符串字符串)設(shè)置設(shè)置x,y坐標軸的名稱。坐標軸的名稱。l輸入特殊的文字需要用反斜杠(輸入特殊的文字需要用反斜杠()開頭。)開頭。7、legend(字符串字符串1,字符串字符串2,字符串字符串n)l在屏幕上開啟一個小視窗,然后依據(jù)繪圖命令的先后在屏幕上開啟一個小視窗,然后依據(jù)繪圖命令的先后次序,用對應(yīng)的字符串區(qū)分圖形上的線。次序,用對應(yīng)的字符串區(qū)分圖形上的線。8、subplot(m,n,k):分割圖形顯示窗口m:上下分割個數(shù),n:左右分割個數(shù),k:子圖編號9、semilogx:繪制以x軸為對

23、數(shù)坐標(以10為底),y軸為線性坐標的半對數(shù)坐標圖形。 semilogy:繪制以y軸為對數(shù)坐標(以10為底),x軸為線性坐標的半對數(shù)坐標圖形。10、了解應(yīng)用型繪圖指令:可用于數(shù)值統(tǒng)計分析或離散數(shù)據(jù)處理bar(x,y);hist(y,x)stairs(x,y);stem(x,y)三維的繪圖命令基本與二維的相同,稍有三維的繪圖命令基本與二維的相同,稍有差別,不再詳述。差別,不再詳述。l繪圖實例繪圖實例l函數(shù)分析函數(shù)分析l矩陣運算矩陣運算l線性方程組線性方程組l曲線擬合曲線擬合l微分方程微分方程繪圖實例繪圖實例fplot(func,-1 1.5) %作圖result = func(0) %求函數(shù)值xsolve = fzero(func,3) %求解Xmin = fminbnd(func,0.5,1)%求最小值函數(shù)分析函數(shù)分析矩陣運算矩陣運算lA = 1 2 3 ; 4 5 6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論