MATLAB3-MATLAB繪圖與程序設(shè)計(jì)_第1頁
MATLAB3-MATLAB繪圖與程序設(shè)計(jì)_第2頁
MATLAB3-MATLAB繪圖與程序設(shè)計(jì)_第3頁
MATLAB3-MATLAB繪圖與程序設(shè)計(jì)_第4頁
MATLAB3-MATLAB繪圖與程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MATLAB繪圖與程序設(shè)計(jì)繪圖與程序設(shè)計(jì)l MATLAB的繪圖與計(jì)算可視化的繪圖與計(jì)算可視化l MATLAB的程序設(shè)計(jì)的程序設(shè)計(jì)MATLAB具有非常強(qiáng)大的二維和三維繪具有非常強(qiáng)大的二維和三維繪圖功能,尤其擅長于各種科學(xué)運(yùn)算結(jié)果的圖功能,尤其擅長于各種科學(xué)運(yùn)算結(jié)果的可視化??梢暬ATLAB也是一個(gè)功能強(qiáng)大的編程工具軟也是一個(gè)功能強(qiáng)大的編程工具軟件,可編寫出相當(dāng)高效的腳本件,可編寫出相當(dāng)高效的腳本(Script) .m文文件及函數(shù)。件及函數(shù)。一、一、MATLAB的繪圖與計(jì)算的繪圖與計(jì)算可視化可視化l1. MATLAB圖形制作概述圖形制作概述l2. MATLAB圖形窗口的功能圖形窗口的功能l3.

2、 MATLAB二維曲線的繪制二維曲線的繪制 l4. MATLAB的三維圖形繪制的三維圖形繪制1. MATLAB圖形制作概述圖形制作概述MATLAB進(jìn)行圖形繪制的基本步驟為:進(jìn)行圖形繪制的基本步驟為:(1) 準(zhǔn)備作圖數(shù)據(jù)準(zhǔn)備作圖數(shù)據(jù)(2) 選定作圖窗口與作圖區(qū)域(選定作圖窗口與作圖區(qū)域(figure,subplot)(3) 調(diào)用作圖命令調(diào)用作圖命令(4) 設(shè)置圖形格式設(shè)置圖形格式l線性機(jī)器標(biāo)記的設(shè)置線性機(jī)器標(biāo)記的設(shè)置l坐標(biāo)軸范圍、坐標(biāo)軸標(biāo)記、網(wǎng)格線的設(shè)置坐標(biāo)軸范圍、坐標(biāo)軸標(biāo)記、網(wǎng)格線的設(shè)置l坐標(biāo)軸標(biāo)簽、圖例、文本等的設(shè)置坐標(biāo)軸標(biāo)簽、圖例、文本等的設(shè)置(5) 輸出所制作的圖形輸出所制作的圖形2.

3、MATLAB的圖形窗口的圖形窗口lMATLAB用于圖形用于圖形輸出的專用窗口,輸出的專用窗口,稱為稱為圖形窗口圖形窗口。所。所有的繪圖命令將把有的繪圖命令將把圖形輸出到當(dāng)前圖圖形輸出到當(dāng)前圖形窗口,若在命令形窗口,若在命令執(zhí)行前,當(dāng)前窗口執(zhí)行前,當(dāng)前窗口已經(jīng)存在圖形,則已經(jīng)存在圖形,則原圖形將被新圖形原圖形將被新圖形覆蓋掉。覆蓋掉。3. 二維曲線的繪制二維曲線的繪制l基本繪圖命令基本繪圖命令plot plot命令是命令是MATLAB中最簡單而且使用最廣泛的中最簡單而且使用最廣泛的一個(gè)繪圖命令,用來繪制二維曲線。一個(gè)繪圖命令,用來繪制二維曲線。 語法:語法:plot(x) %繪制以繪制以x為縱坐

4、標(biāo)的二維曲線為縱坐標(biāo)的二維曲線 plot(x,y) %繪制以繪制以x為橫坐標(biāo)為橫坐標(biāo)y為縱坐標(biāo)的二維為縱坐標(biāo)的二維曲線曲線 說明:說明:x和和y可以是向量或矩陣。可以是向量或矩陣。lplot命令的功能命令的功能l plot命令自動(dòng)打開一個(gè)圖形窗口命令自動(dòng)打開一個(gè)圖形窗口Figurel 用直線連接相鄰兩數(shù)據(jù)點(diǎn)來繪制圖形用直線連接相鄰兩數(shù)據(jù)點(diǎn)來繪制圖形l根據(jù)圖形坐標(biāo)大小自動(dòng)縮擴(kuò)坐標(biāo)軸,將根據(jù)圖形坐標(biāo)大小自動(dòng)縮擴(kuò)坐標(biāo)軸,將數(shù)據(jù)標(biāo)尺及單位標(biāo)注自動(dòng)加到兩個(gè)坐標(biāo)數(shù)據(jù)標(biāo)尺及單位標(biāo)注自動(dòng)加到兩個(gè)坐標(biāo)軸上,可自定坐標(biāo)軸,可把軸上,可自定坐標(biāo)軸,可把x, y 軸用對(duì)軸用對(duì)數(shù)坐標(biāo)表示數(shù)坐標(biāo)表示(1) plot(x)

5、 繪制繪制x向量曲線向量曲線例例1. 用用plot(x)命令畫直線命令畫直線 x1=1 2 3 plot(x1) x2=0 1 0 plot(x2)11.21.41.61.822.22.42.62.8311.21.41.61.822.22.42.62.8311.21.41.61.822.22.42.62.8300.10.20.30.40.50.60.70.80.91(2) plot(x,y) 繪制向量繪制向量x和和y的曲線的曲線plot(x,y): 參數(shù)參數(shù)x,y為向量,以為向量,以x為橫坐標(biāo),以為橫坐標(biāo),以y為縱坐標(biāo)。為縱坐標(biāo)。注意:注意:x,y的長度必須相等的長度必須相等例例2. 繪制正弦

6、曲線繪制正弦曲線y=sin(x)和方波曲線和方波曲線x1=0:0.1:2*pi;y1=sin(x1); %y1為為x1的正弦函數(shù)的正弦函數(shù)plot(x1,y1);x2=0 1 1 2 2 3 ;y2=1 1 0 0 1 1 ;plot(x2,y2);axis(0 4 0 2) %將坐標(biāo)軸范圍設(shè)定為將坐標(biāo)軸范圍設(shè)定為0-4和和0-201234567-1-0.8-0.6-0.4-0.200.20.40.60.8100.511.522.533.5400.20.40.60.811.21.41.61.82(3) plot(x) 繪制矩陣?yán)L制矩陣x的曲線的曲線 當(dāng)當(dāng)X是一個(gè)是一個(gè)m n的矩陣,的矩陣,pl

7、ot(x)命令為矩陣命令為矩陣X每一列每一列畫一條線,共畫一條線,共n條曲線,各曲線自動(dòng)用不同顏色標(biāo)示。條曲線,各曲線自動(dòng)用不同顏色標(biāo)示。例例3 矩陣圖形的繪制。矩陣圖形的繪制。 x1=1 2 3;4 5 6; plot(x1); x2=peaks; %產(chǎn)生一個(gè)產(chǎn)生一個(gè)49*49的矩陣的矩陣 plot(x2); 程序分析:程序分析:a圖中有三條曲線而不是兩條曲線,因?yàn)閳D中有三條曲線而不是兩條曲線,因?yàn)榫仃嚲仃噚1有三列,每列向量畫一條曲線;有三列,每列向量畫一條曲線;b圖為由圖為由peaks函數(shù)生成的一個(gè)函數(shù)生成的一個(gè)4949的二維矩陣,因此產(chǎn)生的二維矩陣,因此產(chǎn)生49條曲條曲線。線。11.1

8、1.21.31.41.51.61.71.81.9211.522.533.544.555.5605101520253035404550-8-6-4-20246810圖圖a 矩陣矩陣X1的圖形的圖形 圖圖b 矩陣矩陣X1的圖形的圖形 (4) plot(x,y)繪制混合式曲線繪制混合式曲線當(dāng)當(dāng)plot(x,y)命令中的參數(shù)命令中的參數(shù)x和和y是向量或矩陣時(shí),是向量或矩陣時(shí),分別有以下幾種情況:分別有以下幾種情況:l如果如果x是向量,而是向量,而y是矩陣,則是矩陣,則x的長度與矩陣的長度與矩陣y的的行數(shù)或列數(shù)必須相等,如果行數(shù)或列數(shù)必須相等,如果x的長度與的長度與y的行數(shù)相等,的行數(shù)相等,則向量則向量

9、x與矩陣與矩陣y的每列向量對(duì)應(yīng)畫一條曲線;如果的每列向量對(duì)應(yīng)畫一條曲線;如果x的長度與的長度與y的列數(shù)相等,向量的列數(shù)相等,向量x與與y的每行向量畫一的每行向量畫一條曲線,如果條曲線,如果y是方陣,則是方陣,則x和和y的行數(shù)和列數(shù)都相的行數(shù)和列數(shù)都相等,將向量等,將向量x與矩陣與矩陣y的每列向量畫一條曲線;的每列向量畫一條曲線;l如果如果x是矩陣,而是矩陣,而y是向量,則是向量,則y的長度必須等于的長度必須等于x的行數(shù)或列數(shù),繪制的方法與前一種相似;的行數(shù)或列數(shù),繪制的方法與前一種相似;l如果如果x和和y都是矩陣,則大小必須相同,矩陣都是矩陣,則大小必須相同,矩陣x的每的每列和列和y的每列畫一

10、條曲線。的每列畫一條曲線。例例4 混合式圖形的繪制?;旌鲜綀D形的繪制。 x1=1 2 3; y1=1 2 3;4 5 6 plot(x1,y1) %每行一條曲線,每行一條曲線,F(xiàn)ig. 1 y2=1 2 ;3 4; 5 6 plot(x1,y2) %每列一條曲線,每列一條曲線,F(xiàn)ig. 2 plot(y1,x1) %Fig. 3 plot(y2,x1) %Fig. 411.21.41.61.822.22.42.62.8311.522.533.544.555.5611.21.41.61.822.22.42.62.8311.522.533.544.555.5611.522.533.544.555.

11、5611.21.41.61.822.22.42.62.8311.522.533.544.555.5611.21.41.61.822.22.42.62.83Fig. 1Fig. 2Fig. 3Fig. 4(5) plot(x1,y1,x2,y2,)繪制多條曲線繪制多條曲線plot命令還可以同時(shí)繪制多條曲線,用多個(gè)矩陣對(duì)為命令還可以同時(shí)繪制多條曲線,用多個(gè)矩陣對(duì)為參數(shù),參數(shù),MATLAB自動(dòng)以不同的顏色繪制不同曲線。自動(dòng)以不同的顏色繪制不同曲線。例例5. 繪制三條曲線。繪制三條曲線。 x=0:0.1:2*pi; plot(x,sin(x),x,cos(x),x,sin(3*x) %畫三條曲線畫三條

12、曲線01234567-1-0.8-0.6-0.4-0.200.20.40.60.81繪制曲線的一般步驟繪制曲線的一般步驟步驟步驟 內(nèi)容內(nèi)容 1曲線數(shù)據(jù)準(zhǔn)備:對(duì)于二維曲線,橫坐標(biāo)和縱坐標(biāo)數(shù)據(jù)變量;對(duì)曲線數(shù)據(jù)準(zhǔn)備:對(duì)于二維曲線,橫坐標(biāo)和縱坐標(biāo)數(shù)據(jù)變量;對(duì)于三維曲面,矩陣參變量和對(duì)應(yīng)的函數(shù)值。于三維曲面,矩陣參變量和對(duì)應(yīng)的函數(shù)值。 2指定圖形窗口和子圖位置:默認(rèn)時(shí),打開指定圖形窗口和子圖位置:默認(rèn)時(shí),打開Figure No.1窗口或當(dāng)窗口或當(dāng)前窗口、當(dāng)前子圖;也可以打開指定的圖形窗口和子圖。前窗口、當(dāng)前子圖;也可以打開指定的圖形窗口和子圖。 3設(shè)置曲線的繪制方式:線型、色彩、數(shù)據(jù)點(diǎn)形。設(shè)置曲線的繪制

13、方式:線型、色彩、數(shù)據(jù)點(diǎn)形。 4設(shè)置坐標(biāo)軸:坐標(biāo)的范圍、刻度和坐標(biāo)分格線設(shè)置坐標(biāo)軸:坐標(biāo)的范圍、刻度和坐標(biāo)分格線 5圖形注釋:圖名、坐標(biāo)名、圖例、文字說明圖形注釋:圖名、坐標(biāo)名、圖例、文字說明 6著色、明暗、燈光、材質(zhì)處理著色、明暗、燈光、材質(zhì)處理(僅對(duì)三維圖形使用僅對(duì)三維圖形使用) 7視點(diǎn)、三度視點(diǎn)、三度(橫、縱、高橫、縱、高)比比(僅對(duì)三維圖形使用僅對(duì)三維圖形使用) 8圖形的精細(xì)修飾圖形的精細(xì)修飾(圖形句柄操作圖形句柄操作):利用對(duì)象屬性值設(shè)置;:利用對(duì)象屬性值設(shè)置;利用圖形窗工具條進(jìn)行設(shè)置。利用圖形窗工具條進(jìn)行設(shè)置。 說明:說明: 步驟步驟1和和3是最基本的繪圖步驟,如果利用是最基本的繪

14、圖步驟,如果利用MATLAB的默認(rèn)設(shè)置通常只需要這兩個(gè)基本的默認(rèn)設(shè)置通常只需要這兩個(gè)基本步驟就可以基本繪制出圖形,而其他步驟并不步驟就可以基本繪制出圖形,而其他步驟并不完全必需。完全必需。 步驟步驟2一般在圖形較多的情況下,需要指定圖一般在圖形較多的情況下,需要指定圖形窗口、子圖時(shí)使用。形窗口、子圖時(shí)使用。 除了步驟除了步驟1、2、3的其他步驟用戶可以根據(jù)自的其他步驟用戶可以根據(jù)自己需要改變前后次序。己需要改變前后次序。(6)復(fù)向量式繪圖復(fù)向量式繪圖plot(Z): 當(dāng)當(dāng)Z為一個(gè)復(fù)向量時(shí),該為一個(gè)復(fù)向量時(shí),該命令等價(jià)于命令等價(jià)于plot(real(Z),imag(Z);其它情況忽略其它情況忽略

15、Z的虛部。的虛部。例例6. t=0:0.1:3*pi; x=t+i*cos(t); plot(x); figure; plot(t,x)012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81012345678910012345678910l多個(gè)圖形繪制的方法多個(gè)圖形繪制的方法(1) 指定圖形窗口指定圖形窗口 如果需要多個(gè)圖形窗口同時(shí)打開時(shí),可以使用如果需要多個(gè)圖形窗口同時(shí)打開時(shí),可以使用figure語句。語句。 語法:語法: figure(n) %產(chǎn)生新圖形窗口產(chǎn)生新圖形窗口 說明:如果該窗口不存在,則產(chǎn)生新圖形窗口并設(shè)置說明:如果該窗口不存在,則產(chǎn)生新圖形窗

16、口并設(shè)置為當(dāng)前圖形窗口,該窗口名為為當(dāng)前圖形窗口,該窗口名為“Figure No.n”,而不,而不關(guān)閉其它窗口。關(guān)閉其它窗口。 如果在使用繪圖命令之后,想清除圖形窗口畫其它如果在使用繪圖命令之后,想清除圖形窗口畫其它圖形,應(yīng)使用圖形,應(yīng)使用“clf”命令清圖形窗。命令清圖形窗。(2) 同一窗口多個(gè)子圖同一窗口多個(gè)子圖如果需要在同一個(gè)圖形窗口中布置幾幅獨(dú)立的子如果需要在同一個(gè)圖形窗口中布置幾幅獨(dú)立的子圖,可以在圖,可以在plot命令前加上命令前加上subplot命令來將一個(gè)命令來將一個(gè)圖形窗口劃分為多個(gè)區(qū)域,每個(gè)區(qū)域一幅子圖。圖形窗口劃分為多個(gè)區(qū)域,每個(gè)區(qū)域一幅子圖。語法:語法:subplot(

17、m,n,k)%使使(mn)幅子圖中的第幅子圖中的第k幅幅成為當(dāng)前圖成為當(dāng)前圖說明:將圖形窗口劃分為說明:將圖形窗口劃分為mn幅子圖,幅子圖,k是當(dāng)前是當(dāng)前子圖的編號(hào),子圖的編號(hào),“,”可以省略。子圖的序號(hào)編排原可以省略。子圖的序號(hào)編排原則是:左上方為第則是:左上方為第1幅,先向右后向下依次排列,幅,先向右后向下依次排列,子圖彼此之間獨(dú)立。子圖彼此之間獨(dú)立。例例7. 用用subplot命令畫四個(gè)子圖。命令畫四個(gè)子圖。 x=0:0.1:2*pi; subplot(2,2,1) %分割為分割為2*2個(gè)子圖,左上方為當(dāng)前圖個(gè)子圖,左上方為當(dāng)前圖 plot(x,sin(x) subplot(2,2,2)

18、 %右上方為當(dāng)前圖右上方為當(dāng)前圖 plot(x,cos(x) subplot(2,2,3) %左下方為當(dāng)前圖左下方為當(dāng)前圖 plot(x,sin(3*x) subplot(224) %右下方為當(dāng)前圖,省略逗號(hào)右下方為當(dāng)前圖,省略逗號(hào) plot(x,cos(3*x) 02468-1-0.500.5102468-1-0.500.5102468-1-0.500.5102468-1-0.500.51同一窗口多個(gè)子圖繪制同一窗口多個(gè)子圖繪制(3) 同一窗口多次疊繪同一窗口多次疊繪為了在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象,可以為了在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象,可以用用“hold”命令來保留原圖形對(duì)象。命令來保

19、留原圖形對(duì)象。語法:語法: hold on %使當(dāng)前坐標(biāo)系和圖形保留使當(dāng)前坐標(biāo)系和圖形保留 hold off %使當(dāng)前坐標(biāo)系和圖形不保留使當(dāng)前坐標(biāo)系和圖形不保留 hold %在以上兩個(gè)命令中切換在以上兩個(gè)命令中切換說明:說明:在設(shè)置了在設(shè)置了“hold on”后,如果畫多個(gè)圖后,如果畫多個(gè)圖形對(duì)象,則在生成新的圖形時(shí)保留當(dāng)前坐標(biāo)系形對(duì)象,則在生成新的圖形時(shí)保留當(dāng)前坐標(biāo)系中已存在的圖形對(duì)象,中已存在的圖形對(duì)象,MATLAB會(huì)根據(jù)新圖會(huì)根據(jù)新圖形的大小,重新改變坐標(biāo)系的比例。形的大小,重新改變坐標(biāo)系的比例。例例8 在同一窗口畫出函數(shù)在同一窗口畫出函數(shù)sinx在區(qū)間在區(qū)間0 2的的曲線和曲線和cos

20、x在區(qū)間在區(qū)間- 的曲線。的曲線。 x1=0:0.1:2*pi; plot(x1,sin(x1) hold on x2=-pi:.1:pi; plot(x2,cos(x2) 程序分析:坐標(biāo)系的范圍由程序分析:坐標(biāo)系的范圍由02轉(zhuǎn)變?yōu)檗D(zhuǎn)變?yōu)?2。(4) 雙縱坐標(biāo)圖雙縱坐標(biāo)圖語法:語法: plotyy(x1,y1,x2,y2) %以左、右不同縱軸繪制兩以左、右不同縱軸繪制兩條曲線條曲線說明:左縱軸用于說明:左縱軸用于(x1,y1)數(shù)據(jù),右縱軸用于數(shù)據(jù),右縱軸用于(x2,y2)數(shù)據(jù)來繪制兩條曲線。坐標(biāo)軸的范圍、數(shù)據(jù)來繪制兩條曲線。坐標(biāo)軸的范圍、刻度都自動(dòng)產(chǎn)生。刻度都自動(dòng)產(chǎn)生。例例8續(xù)續(xù) 用用plot

21、yy函數(shù)實(shí)現(xiàn)在同一圖形窗口繪制兩函數(shù)實(shí)現(xiàn)在同一圖形窗口繪制兩條曲線條曲線。 plotyy(x1,sin(x1),x2,cos(x2) 程序分析:程序分析:plotyy函數(shù)用不同顏色繪制兩條曲線,左右函數(shù)用不同顏色繪制兩條曲線,左右兩邊使用兩個(gè)縱坐標(biāo)軸,橫坐標(biāo)從兩邊使用兩個(gè)縱坐標(biāo)軸,橫坐標(biāo)從-2。-4-202468-1-0.8-0.6-0.4-0.200.20.40.60.81-4-202468-1-0.500.51-4-202468-1-0.500.51用用hold on在同一窗口在同一窗口畫出兩條曲線畫出兩條曲線用用plotyy在同一窗口畫在同一窗口畫出兩條曲線出兩條曲線l曲線的線型、顏色和

22、數(shù)據(jù)點(diǎn)形曲線的線型、顏色和數(shù)據(jù)點(diǎn)形顏色顏色 數(shù)據(jù)點(diǎn)間連線數(shù)據(jù)點(diǎn)間連線 數(shù)據(jù)點(diǎn)形數(shù)據(jù)點(diǎn)形 類型類型 符號(hào)符號(hào) 類型類型 符號(hào)符號(hào) 類型類型 符號(hào)符號(hào) 黃色黃色品紅色品紅色(紫紫色色)青色青色紅色紅色綠色綠色藍(lán)色藍(lán)色白色白色黑色黑色 y(Yellow)m(Magenta)c(Cyan)r(Red)g(Green)b(Blue)w(White)k(Black) 實(shí)線實(shí)線(默認(rèn)默認(rèn))點(diǎn)線點(diǎn)線點(diǎn)劃線點(diǎn)劃線虛虛線線 -:-.- 實(shí)點(diǎn)標(biāo)記實(shí)點(diǎn)標(biāo)記圓圈標(biāo)記圓圈標(biāo)記叉號(hào)形叉號(hào)形十字形十字形星號(hào)標(biāo)記星號(hào)標(biāo)記方塊標(biāo)記方塊標(biāo)記鉆石形標(biāo)記鉆石形標(biāo)記向下的三角形標(biāo)記向下的三角形標(biāo)記向上的三角形標(biāo)記向上的三角形標(biāo)記向左的三

23、角形標(biāo)記向左的三角形標(biāo)記向右的三角形標(biāo)記向右的三角形標(biāo)記五角星標(biāo)記五角星標(biāo)記六六連連形形標(biāo)記標(biāo)記 .ox+*sdvph 語法:語法: plot(x,y,s)說明:說明:x為橫坐標(biāo)矩陣,為橫坐標(biāo)矩陣,y為縱坐標(biāo)矩陣,為縱坐標(biāo)矩陣,s為類型說明字為類型說明字符串參數(shù);符串參數(shù);s字符串可以是線段類型、顏色和數(shù)據(jù)點(diǎn)形三字符串可以是線段類型、顏色和數(shù)據(jù)點(diǎn)形三種類型的符號(hào)之一,也可以是三種類型符號(hào)的組合。種類型的符號(hào)之一,也可以是三種類型符號(hào)的組合。例例9 用不同線段類型、顏色和數(shù)據(jù)點(diǎn)形畫出用不同線段類型、顏色和數(shù)據(jù)點(diǎn)形畫出sinx和和cosx曲曲線。線。 x=0:0.1:2*pi; plot(x,si

24、n(x),r-.) %用紅色點(diǎn)劃線畫出曲線用紅色點(diǎn)劃線畫出曲線 hold on plot(x,cos(x),b:o) %用藍(lán)色圓圈畫出曲線,用點(diǎn)線連接用藍(lán)色圓圈畫出曲線,用點(diǎn)線連接01234567-1-0.8-0.6-0.4-0.200.20.40.60.81l設(shè)置坐標(biāo)軸和文字標(biāo)注設(shè)置坐標(biāo)軸和文字標(biāo)注(1) 坐標(biāo)軸的控制坐標(biāo)軸的控制命令命令 含義含義 命令命令 含義含義 axis auto 使用默認(rèn)設(shè)置使用默認(rèn)設(shè)置 axis equal 縱、橫軸采用等長刻度縱、橫軸采用等長刻度 axis manual 使當(dāng)前坐標(biāo)范圍不變使當(dāng)前坐標(biāo)范圍不變 axis fill 在在manual方式下起作方式下起

25、作用,使坐標(biāo)充滿整個(gè)繪用,使坐標(biāo)充滿整個(gè)繪圖區(qū)圖區(qū) axis off 取消軸背景取消軸背景 axis image 縱、橫軸采用等長刻度,縱、橫軸采用等長刻度,且坐標(biāo)框緊貼數(shù)據(jù)范圍且坐標(biāo)框緊貼數(shù)據(jù)范圍 axis on 使用軸背景使用軸背景 axis normal 默認(rèn)矩形坐標(biāo)系默認(rèn)矩形坐標(biāo)系axis ij 矩陣式坐標(biāo),原點(diǎn)在左矩陣式坐標(biāo),原點(diǎn)在左上方上方 axis square 產(chǎn)生正方形坐標(biāo)系產(chǎn)生正方形坐標(biāo)系 axis xy 普通直角坐標(biāo),原點(diǎn)在普通直角坐標(biāo),原點(diǎn)在左下方左下方 axis tight 把數(shù)據(jù)范圍直接設(shè)為坐把數(shù)據(jù)范圍直接設(shè)為坐標(biāo)范圍標(biāo)范圍 (2) 分格線和坐標(biāo)框分格線和坐標(biāo)框(a

26、) 使用使用grid命令顯示分格線命令顯示分格線語法:語法: grid on%顯示分格線顯示分格線 grid off%不顯示分格線不顯示分格線 grid%在以上兩個(gè)命令間切換在以上兩個(gè)命令間切換說明:不顯示分格線是說明:不顯示分格線是MATLAB的默認(rèn)設(shè)置。分格線的默認(rèn)設(shè)置。分格線的疏密取決于坐標(biāo)刻度,如果要改變分格線的疏密,的疏密取決于坐標(biāo)刻度,如果要改變分格線的疏密,必須先定義坐標(biāo)刻度。必須先定義坐標(biāo)刻度。(b) 使用使用box命令顯示坐標(biāo)框命令顯示坐標(biāo)框語法:語法: box on%使當(dāng)前坐標(biāo)框呈封閉形式使當(dāng)前坐標(biāo)框呈封閉形式 box off%使當(dāng)前坐標(biāo)框呈開啟形式使當(dāng)前坐標(biāo)框呈開啟形式

27、box %在以上兩個(gè)命令間切換在以上兩個(gè)命令間切換說明:在默認(rèn)情況下,所畫的坐標(biāo)框呈封閉形式。說明:在默認(rèn)情況下,所畫的坐標(biāo)框呈封閉形式。例例10 在兩個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控在兩個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控制。制。 x=0:0.1:2*pi; subplot(2,1,1) plot(sin(x),cos(x) axis equal %縱、橫軸采用等長刻度縱、橫軸采用等長刻度 grid on %加分格線加分格線 subplot(2,1,2) plot(x,exp(-x) axis(0,3,0,2) %改變坐標(biāo)軸范圍改變坐標(biāo)軸范圍 -3-2-10123-0.500.5100.

28、511.522.5300.511.52(3) 文字標(biāo)注文字標(biāo)注 (a) 添加圖名添加圖名語法:語法: title(s) %書寫圖名書寫圖名說明:說明:s為圖名,為字符串,可以是英文或中文。為圖名,為字符串,可以是英文或中文。(b) 添加坐標(biāo)軸名添加坐標(biāo)軸名語法:語法: xlabel(s) %橫坐標(biāo)軸名橫坐標(biāo)軸名 ylabel(s) %縱坐標(biāo)軸名縱坐標(biāo)軸名(c) 添加文字注釋添加文字注釋語法:語法:text(xt,yt,s)%在圖形的在圖形的(xt,yt)坐標(biāo)處書寫文坐標(biāo)處書寫文字注釋字注釋(d) 添加圖例添加圖例語法:語法: legend(s,pos) %在指定位置建立圖例在指定位置建立圖例

29、legend off %擦除當(dāng)前圖中的圖例擦除當(dāng)前圖中的圖例說明:參數(shù)說明:參數(shù)s是圖例中的文字注釋,如果多個(gè)注釋則是圖例中的文字注釋,如果多個(gè)注釋則可以用可以用s1,s2,的方式;參數(shù)的方式;參數(shù)pos是圖例在圖上位是圖例在圖上位置的指定符,它的取值如下表所示。置的指定符,它的取值如下表所示。pos取值取值 01234-1圖例位置圖例位置 自動(dòng)取最自動(dòng)取最佳位置佳位置 右上角右上角(默默認(rèn)認(rèn)) 左上角左上角 左下角左下角 右下角右下角 圖右側(cè)圖右側(cè) 例例11 在圖形窗口中添加文字注釋。在圖形窗口中添加文字注釋。 x=0:0.1:2*pi; plot(x,sin(x) hold on plot

30、(x,cos(x),ro) title(y1=sin(x),y2=cos(x) %添加標(biāo)題添加標(biāo)題 xlabel(x) %添加橫坐標(biāo)名添加橫坐標(biāo)名 legend(sin(x),cos(x),4) %在右下角添加圖例在右下角添加圖例 text(pi,sin(pi),x=pi) %在在pi, sin(pi)處添處添 加文字注釋加文字注釋 01234567-1-0.8-0.6-0.4-0.200.20.40.60.81y1=sin(x),y2=cos(x)x x=sin(x)cos(x)4. MATLAB三維繪圖三維繪圖 plot3是用來繪制三維曲線的,它的使用格式與二是用來繪制三維曲線的,它的使用

31、格式與二維繪圖的維繪圖的plot命令很相似。命令很相似。 語法:語法: plot3(x,y,z, s) %繪制三維曲線繪制三維曲線 plot3(x1,y1,z1, s1,x2,y2,z2, s2,) %繪制多條三繪制多條三維曲線維曲線 說明:當(dāng)說明:當(dāng)x、y、z是同維向量時(shí),則繪制以是同維向量時(shí),則繪制以x、y、z元素為元素為坐標(biāo)的三維曲線;當(dāng)坐標(biāo)的三維曲線;當(dāng)x、y、z是同維矩陣時(shí),則繪制三維是同維矩陣時(shí),則繪制三維曲線的條數(shù)等于矩陣的列數(shù)。曲線的條數(shù)等于矩陣的列數(shù)。s是指定線型、色彩、數(shù)據(jù)是指定線型、色彩、數(shù)據(jù)點(diǎn)形的字符串。點(diǎn)形的字符串。例例12 三維曲線繪圖。三維曲線繪圖。 x=0:0.

32、1:20*pi; plot3(x,sin(x),cos(x) %按系統(tǒng)默認(rèn)設(shè)置繪圖按系統(tǒng)默認(rèn)設(shè)置繪圖020406080-1-0.500.51-1-0.500.51l立體圖形繪制立體圖形繪制三維繪圖可分為三個(gè)過程:三維繪圖可分為三個(gè)過程:l 生成平面網(wǎng)格點(diǎn)生成平面網(wǎng)格點(diǎn)l 生成和繪制三維網(wǎng)格點(diǎn)生成和繪制三維網(wǎng)格點(diǎn)l 處理三維表面處理三維表面(1) 生成平面網(wǎng)格點(diǎn)生成平面網(wǎng)格點(diǎn) 語法:語法:X,Y=meshgrid(x,y) 說明:說明:x 是區(qū)間是區(qū)間x0,xm上劃分點(diǎn)組成的向量;上劃分點(diǎn)組成的向量;y 是區(qū)間是區(qū)間y0,yn上劃分點(diǎn)組成的向量;上劃分點(diǎn)組成的向量;X,Y是輸出變量矩陣,矩陣是輸

33、出變量矩陣,矩陣X的行向量都是的行向量都是x,矩陣,矩陣y的列向量都是的列向量都是y。例:例:X,Y = meshgrid(-2:2:2,-2:1:2)(2) 生成三維網(wǎng)格點(diǎn)生成三維網(wǎng)格點(diǎn)語法:語法: mesh(x,y,z,c):說明:說明:x,y,z,c是同維矩陣;是同維矩陣;x,y,z對(duì)應(yīng)確定空間上的網(wǎng)格點(diǎn);對(duì)應(yīng)確定空間上的網(wǎng)格點(diǎn);c為顏色矩陣。為顏色矩陣。例:例:X,Y=meshgrid(-2:.2:2,-2:.2:2); Z=X.*exp(-X.2-Y.2); mesh(Z)(3) 三維表面處理三維表面處理 對(duì)網(wǎng)格曲面的網(wǎng)格塊區(qū)域著色就得到實(shí)曲面。對(duì)網(wǎng)格曲面的網(wǎng)格塊區(qū)域著色就得到實(shí)曲面

34、。mesh命命令僅對(duì)網(wǎng)格線著色,而對(duì)網(wǎng)格片著色使用令僅對(duì)網(wǎng)格線著色,而對(duì)網(wǎng)格片著色使用surf命令。命令。surf的使用方式與的使用方式與mesh相同。相同。例:例:X,Y=meshgrid(-2:.2:2,-2:.2:2); Z=X.*exp(-X.2-Y.2); surf(Z); l三維表面處理效果三維表面處理效果(1) shading faceted 網(wǎng)格修飾,缺省方式網(wǎng)格修飾,缺省方式例例. peaks(30); -3-2-10123-202-505xPeaksy(2) shading flat 去掉黑色線條,根據(jù)小方去掉黑色線條,根據(jù)小方塊的值確定顏色塊的值確定顏色例例. peaks

35、(30); shading flat -3-2-10123-202-505xPeaksy(3) shading interp 顏色整體改變,根據(jù)顏色整體改變,根據(jù)小方塊四角的值差補(bǔ)過度點(diǎn)的值確定顏色小方塊四角的值差補(bǔ)過度點(diǎn)的值確定顏色例例. peaks(30); shading interp-3-2-10123-202-505xPeaksy例例. peaks(30); shading interp; colormap(hot)-3-2-10123-202-505xPeaksy例例. set(gcf,color,0 0 0) X,Y,Z=peaks(30); surfl(X,Y,Z) shadi

36、ng interp; colormap(cool); axis off(3) 透視與消隱透視與消隱p=peaks(30); mesh(p); hidden on01020300102030-10-50510l等高線的繪制等高線的繪制 函數(shù)函數(shù)contour繪制二維等高線。用戶可以指定等高繪制二維等高線。用戶可以指定等高線的條數(shù)、坐標(biāo)系的比例及某值上的等高線,兩者線的條數(shù)、坐標(biāo)系的比例及某值上的等高線,兩者用法相同。用法相同。例例. 等高線高程標(biāo)示等高線高程標(biāo)示set(gcf,color,1 1 1)c,h = contour(peaks); clabel(c,h)-6-4-4-2-2-2-2-

37、2000000022222224446685101520253035404551015202530354045l1. M文件與函數(shù)文件與函數(shù)l2. 變量與表達(dá)式變量與表達(dá)式l3. 數(shù)據(jù)類型數(shù)據(jù)類型l4. 程序結(jié)構(gòu)程序結(jié)構(gòu)l5. 程序調(diào)試、錯(cuò)誤和異常處理程序調(diào)試、錯(cuò)誤和異常處理l6. M文件的優(yōu)化和加速文件的優(yōu)化和加速二、二、MATLAB程序設(shè)計(jì)程序設(shè)計(jì)1. M文件與函數(shù)文件與函數(shù)l將將MATLAB命令構(gòu)成的程序存儲(chǔ)成以命令構(gòu)成的程序存儲(chǔ)成以m為擴(kuò)展名的文為擴(kuò)展名的文件,然后再執(zhí)行該程序文件,這種工作模式稱為命令件,然后再執(zhí)行該程序文件,這種工作模式稱為命令文件模式。文件模式。lMATLAB程序

38、代碼所編寫的文件通常以程序代碼所編寫的文件通常以“.m”為擴(kuò)展為擴(kuò)展名,因此這些文件稱為名,因此這些文件稱為M文件,文件,M文件是一個(gè)文件是一個(gè)ASCII碼文件,可以用任何字處理軟件來編寫。碼文件,可以用任何字處理軟件來編寫。lM文件有兩種形式:文件有兩種形式:M腳本文件和腳本文件和M函數(shù)文件。函數(shù)文件。M函函數(shù)文件是數(shù)文件是MATLAB程序設(shè)計(jì)的主流。程序設(shè)計(jì)的主流。MATLAB本身本身的一系列工具箱的各種內(nèi)部函數(shù)就是的一系列工具箱的各種內(nèi)部函數(shù)就是M函數(shù)文件,用函數(shù)文件,用戶可以為某種目的專門編寫一組戶可以為某種目的專門編寫一組MATLAB函數(shù)文件函數(shù)文件組成工具箱。組成工具箱。lM文本編

39、輯器文本編輯器 建立一個(gè)新的建立一個(gè)新的M文件的方法是在文件的方法是在MATLAB的命令窗口點(diǎn)的命令窗口點(diǎn)擊主菜單擊主菜單File下的下的New中的中的Mfile選項(xiàng),接著就會(huì)出現(xiàn)選項(xiàng),接著就會(huì)出現(xiàn)MATLAB EditorDebugger窗口窗口. MATLAB Editor窗窗口也可以在口也可以在MATLAB的命令窗口中用的命令窗口中用Edit命令打開。命令打開。M文件編輯器窗口會(huì)以不同的顏色顯示注釋、關(guān)鍵詞、字文件編輯器窗口會(huì)以不同的顏色顯示注釋、關(guān)鍵詞、字符串和一般程序代碼;可以方便地打開和保存符串和一般程序代碼;可以方便地打開和保存M文件并文件并進(jìn)行編輯和調(diào)試;進(jìn)行編輯和調(diào)試; 編輯

40、功能有大多數(shù)編輯器都有的復(fù)制、粘貼、查找等,編輯功能有大多數(shù)編輯器都有的復(fù)制、粘貼、查找等,還設(shè)有書簽、定位、清除工作空間和命令窗口、加注釋、還設(shè)有書簽、定位、清除工作空間和命令窗口、加注釋、縮進(jìn)等功能。縮進(jìn)等功能。l腳本腳本 腳本是腳本是M文件里的簡單函數(shù)和命令的集合,它們沒有輸文件里的簡單函數(shù)和命令的集合,它們沒有輸入輸出參數(shù),類似于入輸出參數(shù),類似于DOS下的批處理文件。下的批處理文件。 腳本文件的特點(diǎn):腳本文件的特點(diǎn): (1) 腳本文件中的命令格式和前后位置,與在命令窗口腳本文件中的命令格式和前后位置,與在命令窗口中輸入的沒有任何區(qū)別。中輸入的沒有任何區(qū)別。 (2) MATLAB在運(yùn)行

41、腳本文件時(shí),只是簡單地按順序從在運(yùn)行腳本文件時(shí),只是簡單地按順序從文件中讀取一條條命令,送到文件中讀取一條條命令,送到MATLAB命令窗口中去命令窗口中去執(zhí)行。執(zhí)行。 (3) 與在命令窗口中直接運(yùn)行命令一樣,腳本文件運(yùn)行與在命令窗口中直接運(yùn)行命令一樣,腳本文件運(yùn)行產(chǎn)生的變量都是駐留在產(chǎn)生的變量都是駐留在MATLAB的工作空間的工作空間(workspace)中,可以很方便地查看變量,除非用中,可以很方便地查看變量,除非用clear命令清除;腳命令清除;腳本文件的命令也可以訪問工作空間的所有數(shù)據(jù),因此要本文件的命令也可以訪問工作空間的所有數(shù)據(jù),因此要注意避免變量的覆蓋而造成程序出錯(cuò)。注意避免變量的

42、覆蓋而造成程序出錯(cuò)。例例13 在在M文件編輯調(diào)試器窗口中編寫文件編輯調(diào)試器窗口中編寫M腳本文件繪制二階系統(tǒng)的腳本文件繪制二階系統(tǒng)的多條時(shí)域曲線。多條時(shí)域曲線。 (1) 單擊單擊MATLAB桌面上的圖標(biāo)打開桌面上的圖標(biāo)打開M文件編輯器。文件編輯器。 (2) 將命令全部寫入將命令全部寫入M文件編輯器中,為了能標(biāo)志該文件的名稱,文件編輯器中,為了能標(biāo)志該文件的名稱,在第一行寫入包含文件名的注釋。保存文件為在第一行寫入包含文件名的注釋。保存文件為Ex13.m。 %EX13 二階系統(tǒng)時(shí)域曲線二階系統(tǒng)時(shí)域曲線 x=0:0.1:20; y1=1-1/sqrt(1-0.32)*exp(-0.3*x).*sin

43、(sqrt(1-0.32)*x+acos(0.3) plot(x,y1,r) %畫阻尼系數(shù)為畫阻尼系數(shù)為0.3的曲線的曲線 hold on y2=1-1/sqrt(1-0.7072)*exp(-0.707*x).*sin(sqrt(1- 0.7072)*x+acos(0.707) plot(x,y2,g) %畫阻尼系數(shù)為畫阻尼系數(shù)為0.707的曲線的曲線 y3=1-exp(-x).*(1+x) plot(x,y3,b) %畫阻尼系數(shù)為畫阻尼系數(shù)為1的曲線的曲線 (3) 選擇選擇M文件編輯器菜單文件編輯器菜單“Debug”“Run”,就可以在圖形窗,就可以在圖形窗中看到所示的曲線。中看到所示的曲

44、線。l函數(shù)函數(shù) 函數(shù)的使用與其它高級(jí)語言相似,函數(shù)的使用與其它高級(jí)語言相似,MATLAB提供的各種提供的各種工具幾乎都是以函數(shù)的形式給出的。工具幾乎都是以函數(shù)的形式給出的。MATLAB的各個(gè)的各個(gè)工具箱都是集成了相當(dāng)多的專用函數(shù)而形成的。工具箱都是集成了相當(dāng)多的專用函數(shù)而形成的。函數(shù)文件的特點(diǎn):函數(shù)文件的特點(diǎn):(1) 第一行總是以第一行總是以“function”引導(dǎo)的函數(shù)聲明行;引導(dǎo)的函數(shù)聲明行;(2) 函數(shù)文件在運(yùn)行過程中產(chǎn)生的變量都存放在函數(shù)本身函數(shù)文件在運(yùn)行過程中產(chǎn)生的變量都存放在函數(shù)本身的工作空間;的工作空間;(3) 當(dāng)文件執(zhí)行完最后一條命令或遇到當(dāng)文件執(zhí)行完最后一條命令或遇到“ret

45、urn”命令時(shí),命令時(shí),就結(jié)束函數(shù)文件的運(yùn)行,同時(shí)函數(shù)工作空間的變量就被就結(jié)束函數(shù)文件的運(yùn)行,同時(shí)函數(shù)工作空間的變量就被清除;清除;(4) 函數(shù)的工作空間隨具體的函數(shù)的工作空間隨具體的M函數(shù)文件調(diào)用而產(chǎn)生,隨函數(shù)文件調(diào)用而產(chǎn)生,隨調(diào)用結(jié)束而刪除,是獨(dú)立的、臨時(shí)的,在調(diào)用結(jié)束而刪除,是獨(dú)立的、臨時(shí)的,在MATLAB運(yùn)運(yùn)行過程中可以產(chǎn)生任意多個(gè)臨時(shí)的函數(shù)空間。行過程中可以產(chǎn)生任意多個(gè)臨時(shí)的函數(shù)空間。l函數(shù)文件格式函數(shù)文件格式 函數(shù)聲明行的格式:函數(shù)聲明行的格式: function 輸出變量列表輸出變量列表 = 函數(shù)名函數(shù)名(輸入變量列表輸入變量列表) 函數(shù)文件的一般結(jié)構(gòu):函數(shù)文件的一般結(jié)構(gòu):l函數(shù)

46、定義行函數(shù)定義行 文件的第一行,定義函數(shù)名,輸入輸出參數(shù)的數(shù)量和文件的第一行,定義函數(shù)名,輸入輸出參數(shù)的數(shù)量和名稱。名稱。lH1行行 幫助信息的第一行,緊跟定義行之后。幫助信息的第一行,緊跟定義行之后。l函數(shù)說明函數(shù)說明 H1行以后,函數(shù)主體以前的幫助信息。行以后,函數(shù)主體以前的幫助信息。l函數(shù)主體函數(shù)主體 函數(shù)中進(jìn)行真正計(jì)算和輸出賦值等工作的代碼。函數(shù)中進(jìn)行真正計(jì)算和輸出賦值等工作的代碼。 l注釋注釋 函數(shù)體中用函數(shù)體中用引導(dǎo)的對(duì)程序的注釋。引導(dǎo)的對(duì)程序的注釋。例例14 在在M文件編輯調(diào)試器窗口編寫計(jì)算二階系統(tǒng)時(shí)文件編輯調(diào)試器窗口編寫計(jì)算二階系統(tǒng)時(shí)域響應(yīng)的域響應(yīng)的M函數(shù)文件,并在函數(shù)文件,并

47、在MATLAB命令窗口中調(diào)用命令窗口中調(diào)用該文件。該文件。創(chuàng)建創(chuàng)建M函數(shù)文件并調(diào)用的步驟如下:函數(shù)文件并調(diào)用的步驟如下:(1) 編寫函數(shù)代碼編寫函數(shù)代碼function y=Ex014(zeta)%EX014 畫二階系統(tǒng)時(shí)域曲線畫二階系統(tǒng)時(shí)域曲線x=0:0.1:20;y=1-1/sqrt(1-zeta2)*exp(-zeta*x).*sin(sqrt(1-zeta2)*x+acos(zeta)plot(x,y)(2) 將函數(shù)文件保存為將函數(shù)文件保存為“Ex014.m”。(3) 在在MATLAB命令窗口輸入以下命令,則會(huì)出現(xiàn)命令窗口輸入以下命令,則會(huì)出現(xiàn)f的計(jì)算值和繪的計(jì)算值和繪制的曲線:制的曲

48、線: f=Ex014(0.3)程序分析:程序分析:第一行指定該文件是函數(shù)文件,文件名為第一行指定該文件是函數(shù)文件,文件名為“Ex014”,輸入?yún)?shù)為,輸入?yún)?shù)為阻尼系數(shù)阻尼系數(shù)zeta,輸出參數(shù)為時(shí)域響應(yīng),輸出參數(shù)為時(shí)域響應(yīng)y。MATLAB的搜索過程的搜索過程l例:假設(shè)例:假設(shè)MATLAB執(zhí)行指令執(zhí)行指令cow (1) 檢查檢查cow是否是變量名。是否是變量名。 (2) 是否是內(nèi)建函數(shù)(是否是內(nèi)建函數(shù)(Built_in Function)。 (3) 是否是是否是cow所在所在M文件的一個(gè)子函數(shù)。文件的一個(gè)子函數(shù)。 (4) 是否是是否是cow所在所在M文件的一個(gè)私有函數(shù)。文件的一個(gè)私有函數(shù)。 (

49、5) 是否是當(dāng)前目錄上的文件。是否是當(dāng)前目錄上的文件。 (6) 搜索路徑上是否有搜索路徑上是否有cow存在。存在。 2. 變量與表達(dá)式變量與表達(dá)式lMATLAB的變量與類型的變量與類型(1) 變量命名規(guī)則變量命名規(guī)則l變量名和函數(shù)名對(duì)字母的大小寫敏感;變量名和函數(shù)名對(duì)字母的大小寫敏感;l變量名的第一個(gè)字符必須是一個(gè)英文字母,最多變量名的第一個(gè)字符必須是一個(gè)英文字母,最多可包括可包括31個(gè)字符;個(gè)字符;l變量名可由英文字母、數(shù)字和下劃線混合組成變量名可由英文字母、數(shù)字和下劃線混合組成 ;l變量名中不得包含空格和標(biāo)點(diǎn),但可以由下連字變量名中不得包含空格和標(biāo)點(diǎn),但可以由下連字符符。(2) 局部變量和

50、全局變量局部變量和全局變量l局部變量:具有函數(shù)內(nèi)部作用范圍局部變量:具有函數(shù)內(nèi)部作用范圍l全局變量:可在幾個(gè)函數(shù)和基本工作空間之間共享,全局變量:可在幾個(gè)函數(shù)和基本工作空間之間共享,具有全局作用范圍具有全局作用范圍l全局變量的聲明:全局變量的聲明: global 變量名變量名1 變量名變量名2 變量名間用空格分離。變量名間用空格分離。 l全局變量在使用前必須在全局變量在使用前必須在MATLAB工作空間中申明,工作空間中申明,而在某個(gè)具體的而在某個(gè)具體的MATLAB函數(shù)中如果想用到該全局變函數(shù)中如果想用到該全局變量時(shí),也必須在函數(shù)中申明。量時(shí),也必須在函數(shù)中申明。l由于全局變量損害函數(shù)的封閉性,

51、因此不提倡使用全由于全局變量損害函數(shù)的封閉性,因此不提倡使用全局變量。局變量。(3) 永久變量永久變量 又稱預(yù)定義變量(又稱預(yù)定義變量(Predefined Variable):): ans; eps; pi; realmax; realmin; i,j; nargin; nargout; inf; NaN; computer; flops; version 注:盡可能不對(duì)永久變量重新賦值,以免產(chǎn)生混淆注:盡可能不對(duì)永久變量重新賦值,以免產(chǎn)生混淆lMATLAB基本表達(dá)式基本表達(dá)式 變量變量=表達(dá)式表達(dá)式 MATLAB書寫表達(dá)式的規(guī)則與書寫表達(dá)式的規(guī)則與“手寫算式手寫算式”幾乎相同。幾乎相同。

52、例:例: 20.3+3.9*sin(x); y=sin(x)+cos(x); x, y ,z=peaks3. 數(shù)據(jù)類型數(shù)據(jù)類型字符串?dāng)?shù)組、單元數(shù)組和結(jié)構(gòu)數(shù)組字符串?dāng)?shù)組、單元數(shù)組和結(jié)構(gòu)數(shù)組最常用的最常用的數(shù)據(jù)類型數(shù)據(jù)類型只有雙精只有雙精度型和字度型和字符型,其符型,其他數(shù)據(jù)類他數(shù)據(jù)類型只在一型只在一些特殊條些特殊條件下使用件下使用單元型單元型cell數(shù)組數(shù)組字符型字符型char結(jié)構(gòu)型結(jié)構(gòu)型struct數(shù)值型數(shù)值型numeric存儲(chǔ)型存儲(chǔ)型Storage (包包括括int8, unit8, int16, unit16, int32, unit32)雙精度型雙精度型double稀疏型稀疏型spars

53、e用戶對(duì)象用戶對(duì)象user object4. MATLAB 程序結(jié)構(gòu)程序結(jié)構(gòu)l(1) 順序結(jié)構(gòu)順序結(jié)構(gòu)l(2) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)l(3) 分支結(jié)構(gòu)分支結(jié)構(gòu)l順序結(jié)構(gòu)順序結(jié)構(gòu) 順序結(jié)構(gòu)就是依照順序執(zhí)行程序的各條語句。順序結(jié)構(gòu)就是依照順序執(zhí)行程序的各條語句。 語句在程序文件中的位置反映了程序的執(zhí)行順語句在程序文件中的位置反映了程序的執(zhí)行順序。序。l循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(a) for-end循環(huán)循環(huán)語法為:語法為: for x =array 可執(zhí)行語句可執(zhí)行語句 endl循環(huán)執(zhí)行的次數(shù)為固定的。循環(huán)執(zhí)行的次數(shù)為固定的。l循環(huán)次數(shù)由數(shù)組循環(huán)次數(shù)由數(shù)組(array)的列數(shù)決定。的列數(shù)決定。例:例: for

54、ii=1:10 x(ii)=ii; end; x = 1 2 3 4 5 6 7 8 9 10說明:說明:lfor循環(huán)不會(huì)因?yàn)樵谘h(huán)體內(nèi)對(duì)循環(huán)變量重新循環(huán)不會(huì)因?yàn)樵谘h(huán)體內(nèi)對(duì)循環(huán)變量重新賦值而終止;賦值而終止;lfor循環(huán)結(jié)構(gòu)可按需要嵌套使用。循環(huán)結(jié)構(gòu)可按需要嵌套使用。技巧:技巧:l為得到高效代碼,盡量提高代碼的向量化程度,為得到高效代碼,盡量提高代碼的向量化程度,避免使用循環(huán)結(jié)構(gòu);避免使用循環(huán)結(jié)構(gòu);l為得到最快的運(yùn)算速度,在循環(huán)指令前盡量對(duì)為得到最快的運(yùn)算速度,在循環(huán)指令前盡量對(duì)數(shù)組進(jìn)行預(yù)定義。數(shù)組進(jìn)行預(yù)定義。例例15 利用利用for循環(huán)求循環(huán)求1!+2!+3!+ +5!的值!的值 sum=

55、0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; endsum = 153lwhile-end循環(huán)循環(huán) while循環(huán)將循環(huán)體中的語句循環(huán)執(zhí)行不定次數(shù)。循環(huán)將循環(huán)體中的語句循環(huán)執(zhí)行不定次數(shù)。 語法為:語法為: while 表達(dá)式表達(dá)式 循環(huán)體語句循環(huán)體語句 end 說明:說明: (1) 表達(dá)式一般是由邏輯運(yùn)算和關(guān)系運(yùn)算以及一般表達(dá)式一般是由邏輯運(yùn)算和關(guān)系運(yùn)算以及一般運(yùn)算組成的,以判斷循環(huán)的進(jìn)行和停止;運(yùn)算組成的,以判斷循環(huán)的進(jìn)行和停止; (2) 只要表達(dá)式的值非只要表達(dá)式的值非0,繼續(xù)循環(huán);直到表達(dá)式值,繼續(xù)循環(huán);直到表達(dá)式值為

56、為0,循環(huán)停止。,循環(huán)停止。例例16 用用while循環(huán)求循環(huán)求1100間整數(shù)的和間整數(shù)的和 sum=0; i=1; while i=1 y=2*x.2; plot(x,y)elseif -1x=1)f(x)= 0 (-1x=10) 例例17 編寫編寫m函數(shù),計(jì)算函數(shù)值函數(shù),計(jì)算函數(shù)值并繪圖并繪圖lswitch-case-end分支結(jié)構(gòu)分支結(jié)構(gòu)switch 開關(guān)表達(dá)式開關(guān)表達(dá)式case 表達(dá)式表達(dá)式1 語句段語句段1 case表達(dá)式表達(dá)式2 語句段語句段2. otherwise 語句段語句段n end 說明:說明:l將開關(guān)表達(dá)式依次與將開關(guān)表達(dá)式依次與case后面的表達(dá)式進(jìn)行比較,如果后面的表

57、達(dá)式進(jìn)行比較,如果表達(dá)式表達(dá)式1不滿足,則與下一個(gè)表達(dá)式不滿足,則與下一個(gè)表達(dá)式2比較,如果都不滿比較,如果都不滿足則執(zhí)行足則執(zhí)行otherwise后面的語句段后面的語句段n;一旦開關(guān)表達(dá)式與;一旦開關(guān)表達(dá)式與某個(gè)表達(dá)式相等,則執(zhí)行其后面的語句段。某個(gè)表達(dá)式相等,則執(zhí)行其后面的語句段。l開關(guān)表達(dá)式只能是標(biāo)量或字符串。開關(guān)表達(dá)式只能是標(biāo)量或字符串。lcase后面的表達(dá)式可以是標(biāo)量、字符串或單元數(shù)組,如后面的表達(dá)式可以是標(biāo)量、字符串或單元數(shù)組,如果是單元數(shù)組則將開關(guān)表達(dá)式與單元數(shù)組的所有元素進(jìn)果是單元數(shù)組則將開關(guān)表達(dá)式與單元數(shù)組的所有元素進(jìn)行比較,只要某個(gè)元素與開關(guān)表達(dá)式相等,就執(zhí)行其后行比較,只

58、要某個(gè)元素與開關(guān)表達(dá)式相等,就執(zhí)行其后的語句段。的語句段。l流程控制語句流程控制語句 在程序執(zhí)行中,有一些可以控制程序流程的命在程序執(zhí)行中,有一些可以控制程序流程的命令,下面主要介紹令,下面主要介紹break, continue, return, pause, keyboard和和input命令。命令。(a) break命令命令 break命令可以使包含命令可以使包含break的最內(nèi)層的的最內(nèi)層的for或或while語語句強(qiáng)制終止,立即跳出該結(jié)構(gòu),執(zhí)行句強(qiáng)制終止,立即跳出該結(jié)構(gòu),執(zhí)行end后面的命令,后面的命令,break命令一般和命令一般和if結(jié)構(gòu)結(jié)合使用。結(jié)構(gòu)結(jié)合使用。例例18 判定字符串

59、判定字符串method = Bilinear的值的值 switch lower(method) %將字符串轉(zhuǎn)換為小寫將字符串轉(zhuǎn)換為小寫 case linear,bilinear disp(Method is linear) %顯示顯示 case cubic disp(Method is cubic) case nearest disp(Method is nearest) otherwise disp(Unknown method.) end例例19 計(jì)算計(jì)算1+3+5.+100 的值,當(dāng)和大于的值,當(dāng)和大于1000時(shí)終止計(jì)算。時(shí)終止計(jì)算。% EX019 用用break終止終止while循環(huán)循

60、環(huán)sum=0;n=1;while n=100 if sum1000 sum=sum+n; n=n+2; else break endendsumn程序分析:程序分析:whileend循環(huán)結(jié)構(gòu)嵌套循環(huán)結(jié)構(gòu)嵌套Ifelseend分支結(jié)構(gòu),當(dāng)分支結(jié)構(gòu),當(dāng)sum為為1024時(shí)跳出時(shí)跳出while循環(huán)結(jié)構(gòu),終止循環(huán)。循環(huán)結(jié)構(gòu),終止循環(huán)。(b) continue命令命令 continue命令用于結(jié)束本次命令用于結(jié)束本次for或或while循環(huán),只結(jié)束本循環(huán),只結(jié)束本次循環(huán)而繼續(xù)進(jìn)行下次循環(huán)。次循環(huán)而繼續(xù)進(jìn)行下次循環(huán)。(c) return命令命令 return命令是終止當(dāng)前命令的執(zhí)行,并且立即返回到命令是終

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論