MATLAB二維繪圖參考模板_第1頁(yè)
MATLAB二維繪圖參考模板_第2頁(yè)
MATLAB二維繪圖參考模板_第3頁(yè)
MATLAB二維繪圖參考模板_第4頁(yè)
MATLAB二維繪圖參考模板_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 MATLAB二維繪圖32.1 二維繪圖基本流程32.2 二維圖形的基本繪圖命令52.2.1 高級(jí)繪圖命令52.2.2低級(jí)繪圖命令72.2 二維圖形的修飾92.2.1 坐標(biāo)軸的調(diào)整92.2.1.1 調(diào)整坐標(biāo)軸的范圍92.2.1.2 調(diào)整坐標(biāo)軸的狀態(tài)102.2.1.3 保存坐標(biāo)軸的范圍122.2.1.4 保存坐標(biāo)軸的狀態(tài)122.2.2畫出或取消網(wǎng)格線132.2.3設(shè)置坐標(biāo)軸的名稱132.2.4設(shè)置圖形標(biāo)題142.2.5在圖形中顯示文字152.2.5.1用坐標(biāo)軸確定文字位置152.2.5.2用鼠標(biāo)確定位置顯示文字162.2.6 圖形的標(biāo)定和顏色條172.2.7 使用繪圖工具欄標(biāo)注圖形192.

2、3 填充圖形的繪制202.4 多坐標(biāo)系繪圖與圖形窗口的分割212.4.1 圖形疊印法212.4.2 子圖的繪制222.5 特殊坐標(biāo)圖形的繪制232.5.1 繪制極坐標(biāo)圖形232.5.2對(duì)數(shù)/半對(duì)數(shù)坐標(biāo)系繪圖242.6 特殊二維圖形的繪制252.4.3 直方圖252.4.1 柱狀圖和面積圖272.4.2 餅圖282.4.4 離散數(shù)據(jù)繪圖292.4.5 等高線圖312.4.6 向量圖322.7 函數(shù)繪圖352.7.1 fplot函數(shù)352.7.2函數(shù)function的定義362.8 工作空間直接繪圖372.9 手工繪圖方式402.10 小結(jié)421 / 45第2章 MATLAB二維繪圖數(shù)據(jù)可視化是M

3、ATLAB一項(xiàng)重要功能,它所提供的豐富繪圖功能,使得從繁瑣的繪圖細(xì)節(jié)中脫離出來(lái),而能夠?qū)P挠谧铌P(guān)心的本質(zhì)。通過(guò)數(shù)據(jù)可視化的方法,工程科研人員可以對(duì)自己的樣本數(shù)據(jù)的分布、趨勢(shì)特性有一個(gè)直觀的了解。本章將重點(diǎn)介紹MATLAB二維圖形的繪制方式,并按照完整的步驟來(lái)說(shuō)明一個(gè)圖形產(chǎn)生的流程,以便將數(shù)據(jù)以圖形形式來(lái)識(shí)別。通過(guò)本章,讀者不僅能掌握二維繪圖的基本流程,而且能熟練使用MATLAB中相應(yīng)的繪圖命令、函數(shù)來(lái)繪制二維圖形。2.1 二維繪圖基本流程在MATLAB中繪制圖形,通常采用以下7個(gè)步驟:(1)準(zhǔn)備數(shù)據(jù);(2)設(shè)置當(dāng)前繪圖區(qū); (3)繪制圖形;(4)設(shè)置圖形中曲線和標(biāo)記點(diǎn)格式;(5)設(shè)置坐標(biāo)軸和網(wǎng)

4、格線屬性;(6)標(biāo)注圖形;(7)保存和導(dǎo)出圖形。二維圖形的繪制,也通過(guò)上述7個(gè)步驟來(lái)完成。下面以實(shí)例來(lái)說(shuō)明二維繪圖的各個(gè)主要步驟。例2-1 MATLAB中典型的二維圖形繪制流程實(shí)例。在同一坐標(biāo)軸上繪制sin(x)、sin(2x)和sin(3x)這三條曲線。解:在MATLAB中,通過(guò)如表2-1所示的步驟來(lái)實(shí)現(xiàn)上述圖形繪制。表2-1 基本繪圖流程繪圖步驟主要工作1. 數(shù)據(jù)準(zhǔn)備準(zhǔn)備好繪圖需要的橫坐標(biāo)變量和縱坐標(biāo)變量數(shù)據(jù)2. 設(shè)置當(dāng)前繪圖區(qū)在指定的位置創(chuàng)建新的繪圖窗口,并自動(dòng)以此窗口的繪圖為當(dāng)前繪圖區(qū)3. 繪圖創(chuàng)建坐標(biāo)軸,指定疊加繪圖模式,繪制函數(shù)曲線4. 設(shè)置圖形中曲線和標(biāo)記點(diǎn)格式設(shè)置圖形中的線寬、

5、線型、顏色和標(biāo)記點(diǎn)的形狀、大小、顏色等。5. 設(shè)置坐標(biāo)軸和網(wǎng)格線屬性將坐標(biāo)軸的范圍設(shè)置在指定曲線6. 標(biāo)注圖形在圖形中添加標(biāo)題、坐標(biāo)軸標(biāo)注、文字標(biāo)注等7. 保存和導(dǎo)出圖形按指定文件格式、屬性保存或?qū)С鰣D形對(duì)于此題,在MATLAB編寫createfigure函數(shù)來(lái)實(shí)現(xiàn),createfigure函數(shù)的代碼如下:%*%程序:EX201.M%功能:作出具有較為完整流程的二維圖形%*function createfigure(x1, y1) %創(chuàng)建圖形繪制函數(shù)x1=0:0.02*pi:2*pi; % 定義X1的范圍及刻度y1=sin(x1);sin(2*x1);sin(3*x1); %定義Y1的范圍及刻

6、度f(wàn)igure1 = figure(PaperPosition,0.6345 6.345 20.3 15.23,PaperSize,20.98 29.68);axes1 = axes(Parent,figure1);axis(axes1,0 6.283 -2 2); %建立坐標(biāo)軸title(axes1,sin(x)/sin(2x)/sin(3x); %圖形標(biāo)注xlabel(axes1,x);ylabel(axes1,y);box(axes1,on);hold(axes1,all); plot1 = plot(x1,y1); %顯示圖形 text1 = text(. Position,1.136

7、 -0.9532 0,. String,y=sin(x),. VerticalAlignment,baseline,. Parent,axes1); %創(chuàng)立文字標(biāo)注 text2 = text(. Position,2.266 -0.8947 0,. String,y=sin(2x),. VerticalAlignment,baseline,. Parent,axes1); %創(chuàng)立文字標(biāo)注 text3 = text(. Position,3.395 0.8947 0,. String,y=sin(3x),. VerticalAlignment,baseline,. Parent,axes1);

8、%創(chuàng)立文字標(biāo)注運(yùn)行該程序后,輸出如圖2-1所示的結(jié)果: 圖2-1 二維圖形繪制輸出的結(jié)果(例1-1)在圖形的繪制流程中,需要注意的是:(1)上面所謂的7個(gè)步驟的順序也不是完全固定,尤其是其中對(duì)圖形進(jìn)行修飾標(biāo)注的4、5、6步驟,完全可以改變順序;(2)MATLAB中對(duì)于圖形中的曲線和標(biāo)記點(diǎn)格式有默認(rèn)的設(shè)置,這在一般情況下是可以滿足使用者需要的,因此對(duì)于只是想大概察看一下數(shù)據(jù)分布的用戶,只需要進(jìn)行第1、3步工作就可以了。2.2 二維圖形的基本繪圖命令MATLAB提供了兩種級(jí)別的二維圖形基本繪圖命令:(1)高級(jí)繪圖命令plot它以一體化的方式繪出圖形,即用戶只須給出圖形定義數(shù)據(jù),繪圖范圍、刻度大小等

9、,細(xì)節(jié)內(nèi)容都可由系統(tǒng)自動(dòng)確定。(2)低級(jí)繪圖命令line它允許用戶在圖形窗口的任意位置用低級(jí)繪圖命令line畫直線或折線。下面分別進(jìn)行講述。2.2.1 高級(jí)繪圖命令plot函數(shù)是MATLAB中最核心的二維繪圖函數(shù),它有多種語(yǔ)法格式可以實(shí)現(xiàn)多種功能。(1)最簡(jiǎn)單的用法plot(Y)當(dāng)Y是一維數(shù)組時(shí),plot(Y)是把(i,X(i)各點(diǎn)順次連接起來(lái),其中i的取值范圍從1到length(X)。當(dāng)Y是普通的二維數(shù)組時(shí),相當(dāng)于對(duì)Y的每一列進(jìn)行plot(Y(:,i)畫線,并把所有的折線累疊繪制在當(dāng)前坐標(biāo)軸下。(2)最常用的用法plot(X,Y)plot最常用的語(yǔ)法格式是接受兩個(gè)參數(shù)的plot(X,Y)當(dāng)X

10、和Y都是一維數(shù)組時(shí),功能和line(X,Y)類似;但plot函數(shù)中的X和Y也可以是一般的二維數(shù)組,這時(shí)候就是對(duì)X和Y的對(duì)應(yīng)列畫線。特別的,當(dāng)X是一個(gè)向量,Y是一個(gè)在某一方向和X具有相同長(zhǎng)度的二維數(shù)組時(shí),plot(X,Y)則是對(duì)X和Y的每一行(或列)畫線。(3)拓展的用法plot(X1,Y1,X2,Y2,.Xn,Yn)對(duì)多組變量同時(shí)進(jìn)行繪圖了,對(duì)于每一組變量,其意義同前所述。例2-2高級(jí)繪圖函數(shù)plot繪圖實(shí)例。利用plot(x)和多組變量的語(yǔ)法格式繪制y=sinx、y=cosx、y=sin(x-0.1)、y=cos(x+0.1)的二維圖形。解:在MATLAB命令窗口中輸入以下命令:x=0:0.

11、4*pi:2*pi;y1=sin(x);y2=cos(x);y3=sin(x-0.1*pi);y4=cos(x+0.1*pi);plot(y1) %如圖2-2title(Plot繪圖結(jié)果 )xlabel(x,FontSize,15)ylabel(y,FontSize,8)運(yùn)行以上M代碼程序,得到圖2-2所示的結(jié)果圖形。將程序中plot(y1)替換成以下語(yǔ)句,將會(huì)得到圖2-3所示結(jié)果圖形。plot(x,y1,x,y2,x,y3,x,y4)%圖2-3,注意比較和圖2-2的不同圖2-2 plot(y1)畫線結(jié)果(例2-2)圖2-3 多組數(shù)據(jù)的plot結(jié)果(例2-2)從圖2-3可以看到,多組數(shù)據(jù)繪圖時(shí)

12、,MATLAB默認(rèn)通過(guò)不同的顏色區(qū)分了各條曲線。實(shí)際上,plot函數(shù)繪圖指令中就可以設(shè)置各條曲線的顏色、線型等屬性,這時(shí)候plot函數(shù)對(duì)應(yīng)的語(yǔ)法格式為:plot(X1,Y1,LineSpec,.),其中LineSpec就是一個(gè)指定曲線顏色、線型等特征的字符串。plot函數(shù)采用plot(X1,Y1,LineSpec,.)的語(yǔ)法格式時(shí),可以通過(guò)字符串LineSpec指定曲線的線型、顏色以及數(shù)據(jù)點(diǎn)的標(biāo)記類型。這在突出顯示原始數(shù)據(jù)點(diǎn)和個(gè)性化區(qū)分多組數(shù)據(jù)的時(shí)候是十分有用的。例如-.or就表示連線采用點(diǎn)劃線類型,數(shù)據(jù)點(diǎn)用圓圈標(biāo)記,顏色都設(shè)為紅色。需要注意的是,當(dāng)指定了數(shù)據(jù)點(diǎn)標(biāo)記類型,但不指定線型時(shí),則表示

13、只標(biāo)記數(shù)據(jù)點(diǎn),而不進(jìn)行連線繪圖。MATLAB默認(rèn)是用顏色區(qū)分多組曲線,但在只能黑白打印或顯示的情況下,個(gè)性化的設(shè)置曲線線型就成了唯一的區(qū)分方法。表2-2列出了MATLAB中可供選擇的曲線線型、顏色和標(biāo)記點(diǎn)類型。表2-2 LineSpec可選字符串列表線型顏色數(shù)據(jù)點(diǎn)標(biāo)記類型標(biāo)識(shí)符意義標(biāo)識(shí)符意義標(biāo)識(shí)符意義-實(shí)線r紅色+加號(hào)-.點(diǎn)劃線g綠色o圓圈-虛線b藍(lán)色*星號(hào):點(diǎn)線c藍(lán)綠色.點(diǎn)m洋紅色x交叉符號(hào)y黃色square(或s)方格k黑色diamond(或d)菱形w白色向上的三角形v向下的三角形向左的三角形x=0:pi/20:2*pi;y1=sin(x);y2=sin(x+pi/2);plot(x,y1

14、,r:,x,y2,+) 運(yùn)行程序代碼,輸出如圖2-4所示的結(jié)果圖形: 圖2-4 不同線性、不同顏色、不同標(biāo)記點(diǎn)的圖形(例2-3)2.2.2低級(jí)繪圖命令MATLAB允許用戶在圖形窗口的任意位置用低級(jí)繪圖命令line畫直線或折線。line函數(shù)的常用語(yǔ)法格式為:line(X,Y)其中X,Y都是一維數(shù)組,line(X,Y)能夠把(X(i),Y(i)代表的各點(diǎn)用線段順次連接起來(lái),從而繪制出一條折線。例2-4 畫線函數(shù)line使用實(shí)例。利用函數(shù)line繪制y=sinx的圖形。解:在命令窗口輸入以下命令: x=0:0.4*pi:2*pi; y=sin(x); line(x,y)運(yùn)行以上程序代碼后,得到如圖2

15、-4的圖形: 圖2-5 line函數(shù)畫線(例2-4) 例2-5 畫線函數(shù)line使用實(shí)例。利用函數(shù)line為和的圖形上加上兩條水平線。解:在MATLAB命令窗口輸入以下代碼x=0:pi/20:2*pi;y1=sin(x);y2=sin(x+pi/2);plot(x,y1,r:,x,y2,+) %顯示圖形line(0,7,0.5,0.5)line(0,7,-0.5,-0.5) 運(yùn)行該程序代碼,輸出圖2-5所示結(jié)果圖形:圖2-6 添加有水平線的二維曲面圖(例2-5)2.2 二維圖形的修飾由前面的圖2-1至2- 6可以看出,當(dāng)利用plot命令繪圖時(shí),雖然運(yùn)用起來(lái)比較簡(jiǎn)單,但它所自動(dòng)產(chǎn)生的圖形卻顯得有

16、些簡(jiǎn)單,未能產(chǎn)生特殊的效果。為此MATLAB提供了一些圖形函數(shù),專門對(duì)由plot命令所畫出的圖形進(jìn)行進(jìn)一步的修飾,以使其更加美觀、更便于應(yīng)用。如坐標(biāo)軸范圍的設(shè)定(axis命令)、加坐標(biāo)軸名稱(xlabel、ylabel命令)、加網(wǎng)絡(luò)(grid命令)、加圖形加圖題(title命令)、對(duì)圖形進(jìn)行文字注釋(text命令)等。下面將分別進(jìn)行講述。2.2.1 坐標(biāo)軸的調(diào)整MATLAB可以自動(dòng)根據(jù)曲線數(shù)據(jù)的范圍選擇合適的坐標(biāo)系,從而使得曲線能夠盡可能清晰地顯示出來(lái),所以在一般情況下用戶不必去進(jìn)行坐標(biāo)系的選擇。但是,如果用戶對(duì)MATLAB所自動(dòng)生成的坐標(biāo)軸不太滿意的話,則可以利用axis所要繪制出的圖形的坐

17、標(biāo)軸進(jìn)行調(diào)整。axis命令的功能非常豐富,按常用用法有如下4類:l 調(diào)整坐標(biāo)軸的范圍;l 調(diào)整坐標(biāo)軸的狀態(tài);l 保存調(diào)整坐標(biāo)軸的范圍;l 保存坐標(biāo)軸的狀態(tài)。2.2.1.1 調(diào)整坐標(biāo)軸的范圍 MATLAB采用axis函數(shù)可以根據(jù)需要適當(dāng)調(diào)整坐標(biāo)軸的范圍,該函數(shù)調(diào)用格式是:axis(xmin xmax ymin ymax)此函數(shù)將所畫的X軸的大小范圍限定在xmin,xmax之間,Y軸的大小范圍限定在ymin,ymax之間。需要說(shuō)明的是,在繪圖時(shí),由于圖形的坐標(biāo)已經(jīng)給定,所以對(duì)坐標(biāo)軸范圍參數(shù)的更改,其實(shí)際效果也就相當(dāng)于對(duì)原圖形進(jìn)行了放大或縮小處理。例2-6 調(diào)整坐標(biāo)軸函數(shù)axis使用實(shí)例。利用函數(shù)a

18、xis調(diào)整y=sinx的坐標(biāo)軸范圍。解:在命令窗口輸入下面的代碼x=0:pi/100:2*pi;y=sin(x);line(0,2*pi,0,0) hold on;plot(x,y)axis(0 2*pi -1 1) 執(zhí)行程序后,可以得到如圖2-7所示的圖形。而如果將最后的一條命令改為:axis(0 2*pi -2 2)就可以畫出如圖2-8所示的圖形,其顯示效果就好像對(duì)圖2-7的Y軸進(jìn)行了壓縮。 圖2-7 坐標(biāo)軸調(diào)整之前的圖形 圖2-8 坐標(biāo)軸調(diào)整之后的圖形 2.2.1.2 調(diào)整坐標(biāo)軸的狀態(tài)MATLAB在繪圖功能中可以根據(jù)視圖需求,適當(dāng)調(diào)整坐標(biāo)軸狀態(tài),該函數(shù)的調(diào)用格式是:axis(str)此函

19、數(shù)的功能是將坐標(biāo)軸的狀態(tài)設(shè)定為字符串參數(shù)str所指定的狀態(tài)。參數(shù)str是由一對(duì)單引號(hào)( )所包起來(lái)的字符串(也可以省略這對(duì)單引號(hào)),它表明了將坐標(biāo)軸調(diào)整為哪一種狀態(tài)。各種常用字符串的含義如表2-3所示。 表2-3 Axis各種常用字符串命令形式命令功能axis(xmin xmax ymin ymax)按照用戶給出的X軸和Y軸的最大、最小值選擇坐標(biāo)系axis auto或者axis(auto)自動(dòng)設(shè)置坐標(biāo)系:xmin=min(x):xmax=max(x); ymin=min(y);ymax=max(y);axis xy或者axis(xy)使用笛卡爾坐標(biāo)系axis ij 或者axis(ij)使用ma

20、trix坐標(biāo)系。即:坐標(biāo)原點(diǎn)在左上方,x坐標(biāo)從左向右增大,y坐標(biāo)從上向下增大axis square或者axis(square)將當(dāng)前圖形設(shè)置為正方形圖形axis eaual或者axis(equal)將x,y坐標(biāo)軸的單位刻度設(shè)置為相等axis normal或者axis (normal)關(guān)閉axis equal和axis square命令axis off或者axis(off)關(guān)閉網(wǎng)絡(luò)線、xy坐標(biāo)的用label命令所加的注釋,但保留用圖形中text命令和gtext命令所添加的文本說(shuō)明axis on或者axis(on)打開網(wǎng)絡(luò)線、xy坐標(biāo)的用label命令所加的注釋只要不產(chǎn)生矛盾的含義,一些不同的參數(shù)

21、str可以同時(shí)起作用,即在語(yǔ)句axis(str)的參數(shù)中,可以使用多個(gè)修飾字符串,如axis(auto,on,ij)。例2-7 坐標(biāo)軸設(shè)置函數(shù)axis使用實(shí)例。利用axis函數(shù)為y=sinx繪制笛卡爾坐標(biāo)系。 解:在命令窗口輸入下面的代碼x=0:pi/100:2*pi;y=sin(x);line(0,2*pi,0,0) hold on;plot(x,y)axis(0 2*pi -1 1)axis(xy) 或 axis xy 輸入以上命令設(shè)置后,運(yùn)行程序,可以得出圖2-9所示的結(jié)果圖形。 圖2-9 笛卡爾坐標(biāo)系下的正弦曲線 圖2-10屏幕坐標(biāo)系下的正弦曲線笛卡爾坐標(biāo)系的圖形,其坐標(biāo)系的X軸是從左

22、到右,Y軸是由下向上。而有時(shí)我們需要繪制Y軸是由上向下的圖形,即符合屏幕坐標(biāo)系的圖形,這時(shí)可由下述命令來(lái)設(shè)置坐標(biāo)軸的方向: axis(ij) 或 axis ij此時(shí)所繪制出的正弦曲線圖形如圖2-10所示。例2-8 圖形調(diào)整函數(shù)axis使用實(shí)例。利用函數(shù)axis繪制一個(gè)半徑r=1的單位圓。解:在命令窗口直接輸入以下程序代碼,alpha=0:0.01:2*pi;x=sin(alpha);y=cos(alpha);plot(x,y)axis(-1.5 1.5 -1.5 1.5)grid onaxis square執(zhí)行以上程序后,可以得到如圖2-11所示的圖形。仔細(xì)觀察圖2-11可知,這個(gè)單位圓有點(diǎn)像

23、一個(gè)橢圓,這主要是由于計(jì)算機(jī)屏幕上X方向和Y方向的單位長(zhǎng)度不一致造成的。但下述命令將可以消除這種不一致,從而可以繪制出一個(gè)真正的單位圓(如圖2-12所示)。axis(square) 或 axis square 圖2-11 未進(jìn)行刻度調(diào)整的單位圓 圖2-12 用axis(square)調(diào)整刻度后的單位圓 下述的命令也可以消除這種不一致,從而可以繪制出一個(gè)標(biāo)準(zhǔn)的單位圓(如圖2-11所示)。 axis(equal) 或 axis equal注意,axis(square)的含義是將X坐標(biāo)軸長(zhǎng)度與Y坐標(biāo)軸長(zhǎng)度調(diào)整為正方形,而axis(equal)的含義是將X坐標(biāo)軸和Y坐標(biāo)軸的單位刻度大小調(diào)整一樣長(zhǎng)短。若

24、用下述命令卻可以將圖形恢復(fù)顯示為刻度調(diào)整前的形式(圖2-11)。axis(normal) 或 axis normal用下述命令可以關(guān)閉或打開圖形的坐標(biāo)軸。axis(off) 或 axis offaxis(on) 或 axis on圖2-14所示為用axis(off)命令將圖2-13所示圖形去掉坐標(biāo)軸后的單位圓。 圖2-13 用axis(equal)調(diào)整刻度后的單位圓 圖2-14用axis(off)去掉坐標(biāo)軸后的單位圓2.2.1.3 保存坐標(biāo)軸的范圍MATLAB中有一種可以將坐標(biāo)軸的范圍值xmin xmax ymin ymax存儲(chǔ)到向量variable中的功能,該功能實(shí)現(xiàn)的格式是:variabl

25、e=axis變量variable保存的是一個(gè)向量值,顯然這個(gè)向量值能夠以axis(variable)的形式應(yīng)用于設(shè)定坐標(biāo)軸的大小范圍。例2-9 對(duì)于由例2-8程序所繪制出的圖2-11,檢查其坐標(biāo)軸的范圍。解:在命令窗口輸入下面的代碼,可以實(shí)現(xiàn)檢查坐標(biāo)軸的范圍AxisRangeaxisAxisRange -1.5000 1.5000 -0.6363 0.63632.2.1.4 保存坐標(biāo)軸的狀態(tài)MATLAB中可以將當(dāng)前所使用的坐標(biāo)軸的狀態(tài)存儲(chǔ)到向量中,這種功能的格式是s1,s2.s3=axis(state),該功能是將當(dāng)前所使用的坐標(biāo)軸的狀態(tài)存儲(chǔ)到向量s1,s2,s3中。在使用該功能時(shí),需要說(shuō)明以

26、下幾點(diǎn):(1)s1說(shuō)明是否自動(dòng)設(shè)定坐標(biāo)軸的范圍,取值為auto或manual;(2)s2說(shuō)明是否關(guān)閉坐標(biāo)軸,取值為on或off;(3)s3說(shuō)明所使用的坐標(biāo)軸的種類,取值為xy或ij。例2-10 對(duì)于例2-8程序所繪制的圖2-11,檢查其坐標(biāo)軸的當(dāng)前狀態(tài)。解:在命令窗口輸入以下的代碼: s1,s2,s3=axis(state)s1=manuals2=ons3=xy2.2.2畫出或取消網(wǎng)格線 在MATLAB二維圖形中,有無(wú)網(wǎng)格線對(duì)于圖形的顯示效果有很大的影響,我們利用grid函數(shù)就可以輕松實(shí)現(xiàn)對(duì)二維圖形中網(wǎng)格線的顯示進(jìn)行控制。grid函數(shù)使用的基本格式為:(1)grid on功能是在所畫出的圖形中

27、添加網(wǎng)格線。(2)grid off功能是將已有的網(wǎng)格線的圖形去掉其網(wǎng)格線。例2-11 網(wǎng)格線控制函數(shù)grid使用實(shí)例。利用grid命令去掉單位圓圖形的網(wǎng)格線。解:在命令窗口直接輸入以下程序代碼,alpha=0:0.01:2*pi;x=sin(alpha);y=cos(alpha);plot(x,y)axis(-1.5 1.5 -1.5 1.5)grid onaxis square 運(yùn)行程序后,可以得到如圖2-16所示的圖形: 圖2-15 帶有網(wǎng)格線的圖形 圖2-16 不帶有網(wǎng)格線的圖形2.2.3設(shè)置坐標(biāo)軸的名稱添加并設(shè)置坐標(biāo)軸標(biāo)簽的函數(shù)是xlabel和ylabel,格式為:(1)xlabel(

28、string)設(shè)置橫軸標(biāo)簽為字符串值。(2)xlabel(.,PropertyName,PropertyValue,.)在設(shè)置橫軸標(biāo)簽值的同時(shí)設(shè)置其相關(guān)屬性,比如文字顏色、旋轉(zhuǎn)角度、字體、加粗等。通過(guò)插入菜單的X Label、Y Label項(xiàng)可以設(shè)置圖形的橫軸和縱軸的標(biāo)簽,默認(rèn)情況下,橫軸標(biāo)簽被安排在橫軸下方中間位置并且水平排列,縱軸標(biāo)簽被安排在縱軸左方位置并且垂直排列。坐標(biāo)軸標(biāo)簽和標(biāo)題類似,雖然有屬于文本,但又不同于普通的文本標(biāo)注,當(dāng)用戶平移、縮放坐標(biāo)軸時(shí),坐標(biāo)軸標(biāo)簽會(huì)隨著變化以適應(yīng)變化后的坐標(biāo)軸位置。例2-12 坐標(biāo)軸標(biāo)注函數(shù)xlabel和ylabel使用實(shí)例。利用已有數(shù)據(jù)作出北京降水量圖

29、,并標(biāo)注坐標(biāo)軸標(biāo)簽。 解:在M程序編輯器中輸入以下代碼:%*%程序:EX212.M%功能:1997-2006年北京年平均降水量 %*x=1997:1:2006; y=1.45 0.91 2.3 0.86 1.46 0.95 1.0 0.96 1.21 0.74;xin=1997:0.2:2006;yin=spline(x,y,xin);plot(x,y,ob,xin,yin,-.r)title(1997年到2006年北京年平均降水量圖)xlabel(it年份,FontSize,15)ylabel(每年降雨量,FontSize,8)保存以上M程序文件,執(zhí)行程序后得到圖2-16所示的結(jié)果:圖2-1

30、7 坐標(biāo)軸標(biāo)簽(例2-12)2.2.4設(shè)置圖形標(biāo)題MATLAB 中有專門的函數(shù)title來(lái)為圖形添加標(biāo)題,調(diào)用這種函數(shù)的格式是:(1)title(string)設(shè)置當(dāng)前繪圖區(qū)的標(biāo)題為字符串string的值。(2)title(.,PropertyName,PropertyValue,.)可以在添加或設(shè)置標(biāo)題的同時(shí),設(shè)置標(biāo)題的屬性,如字體、顏色、加粗等。例2-13 圖形標(biāo)注函數(shù)title使用實(shí)例。利用title函數(shù)為圖形添加標(biāo)題。解:在命令窗口輸入下面的代碼x=0:0.05:10;y=exp(-0.2*x).*cos(x);plot(x,y)title(ite0.2xcos(x),FontWeig

31、ht,Bold)執(zhí)行程序后,可以得到2-18所示結(jié)果圖形:圖2-18 設(shè)置圖形標(biāo)題(例2-13)2.2.5在圖形中顯示文字MATLAB允許用戶在圖形的任意位置加注一串文字。加注文字的時(shí)候,MATLAB提供了兩種不同確定文字位置的操作方式:(1)用坐標(biāo)軸確定文字位置;(2)用鼠標(biāo)確定文字位置。下面分別介紹這兩種不同確定文字的方式。2.2.5.1用坐標(biāo)軸確定文字位置MATLAB允許用戶在圖形窗口的任意位置用低級(jí)命令書寫一串字符。該方式的格式是text(x,y,string,option),主要功能是在圖形指定坐標(biāo)位置(x,y)處,寫出由string所給出的字符串。坐標(biāo)(x,y)的單位是由選項(xiàng)參數(shù)o

32、ption決定的。如果不給出該選項(xiàng)參數(shù),則(x,y)坐標(biāo)的單位與圖中的單位是一致的。如果選項(xiàng)參數(shù)取為sc,則(x,y)坐標(biāo)表示規(guī)范化的窗口相對(duì)坐標(biāo),其變化范圍為01,即該窗口繪圖范圍的左下角坐標(biāo)為(0,0),右上角坐標(biāo)為(1,1)。例2-14 坐標(biāo)軸標(biāo)注函數(shù)text使用實(shí)例。利用text函數(shù)在y=sinx指定位置添加文字。解:在命令窗口輸入以下代碼x=0:pi/100:2*pi;y=sin(x);plot(x,y)axis(0 2*pi -1.5 1.5)line(0,2*pi,0,0)text(0.5,0.85, sin(x) ,sc)text(0.5*pi,0.5, position)te

33、xt(1.5*pi, -0.5, negative) 運(yùn)行程序后,可以得到如2-19所示結(jié)果圖形: 圖2-19帶有文字說(shuō)明的正弦曲線 2.2.5.2用鼠標(biāo)確定位置顯示文字用text命令可以在圖形的任意位置上加注文字,但是前提是必須知道其位置坐標(biāo)。MATLAB也允許用戶用鼠標(biāo)移動(dòng)的方式在圖形窗口中的某一位置放置一個(gè)字符串。用鼠標(biāo)確定位置顯示文字函數(shù)是gtext,利用該函數(shù)可以通過(guò)鼠標(biāo),在圖形的某一位置寫出由string所給出的字符串。gtext是交互式文本框標(biāo)注函數(shù),其常用語(yǔ)法格式為:(1)gtext(string)可以在鼠標(biāo)點(diǎn)擊的位置標(biāo)注一個(gè)單行文本框。(2)gtext(string1,str

34、ing2,string3,.)可以在鼠標(biāo)點(diǎn)擊位置標(biāo)注一個(gè)多行文本框。(3)gtext(string1;string2;string3;.)可以在通過(guò)多次鼠標(biāo)點(diǎn)擊標(biāo)注多個(gè)文本框。例2-15 文本框標(biāo)注函數(shù)gtext使用實(shí)例。利用gtext函數(shù)對(duì)y=2sinx+2cosx進(jìn)行文本框標(biāo)注。解:在命令窗口輸入以下代碼x=0:0.02*pi:2*pi;y=2*sin(x)+ 2*cos(x);plot(x,y,pi,sin(pi)+cos(pi),o)text(pi, 2*sin(pi)+ 2*cos(pi),sin(pi)+cos(pi)=,num2str(sin(pi)+cos(pi)gtext(g

35、text1-line1,gtext1-line2)gtext(gtext2-1;gtext2-2) 執(zhí)行以上程序后,可以得到如2-20所示結(jié)果圖形:圖2-20 文本框標(biāo)注(例2-15)2.2.6 圖形的標(biāo)定和顏色條圖例是可以用來(lái)標(biāo)注圖形中不同顏色、線型的數(shù)據(jù)組的實(shí)際意義。用戶可以通過(guò)單擊插入菜單的圖例(Legend)項(xiàng),或者單擊圖形工具條的圖例按鈕,或者通過(guò)legend命令來(lái)添加圖例以標(biāo)注圖形中的多組數(shù)據(jù)。通過(guò)菜單或工具按鈕的方法添加圖例后,圖例的各項(xiàng)文字被設(shè)置為data1、data2等。要達(dá)到用戶自定義的設(shè)置,使用lengend函數(shù)是比較方便的。legend函數(shù)的常用方法為:(1)legen

36、d(string1,string2,.)添加圖例,并設(shè)置各組數(shù)據(jù)的圖例文字為對(duì)應(yīng)位置字符串值。(2)legend(off)清除圖例;(3)legend(hide)隱藏圖例;(4)legend(show)顯示圖例。例2-16 圖形標(biāo)定函數(shù)legend使用實(shí)例。利用legend函數(shù)為y=sinx、y=cosx、y=sin2x*cosx圖形添加圖例。解:在M文件編輯器輸入以下代碼%*%程序:EX216.M%功能:為圖形添加圖例%*x=0:0.01*pi:4*pi;y1=2*sin(x);y2=cos(x);y3=sin(2*x).*cos(x);plot(x,y1;y2;y3)axis(0 4*pi

37、 -2 2.5)set(gca,XTick,0 pi 2*pi,XTickLabel,0,pi,2pi)legend(2*sin(x),cos(x),sin(2x)cos(x)保存文件后,執(zhí)行程序可以得到如2-21所示的圖形:圖2-21 圖例(例2-16)顏色條是用于顯示圖形中顏色和數(shù)值對(duì)應(yīng)關(guān)系的,它主要用在三維圖形或其二維等高線圖形中。用戶可以通過(guò)單擊插入菜單的顏色條(Colorbar)項(xiàng),或者單擊圖形工具條的顏色條按鈕,或者通過(guò)colorbar命令來(lái)添加顏色條。例2-17 顏色條函數(shù)colorbar使用實(shí)例。利用colorbar為圖形添加顏色條。解:在命令窗口輸入以下代碼z=peaks(1

38、5);c,h=contour(z,6);clabel(c,h)colorbar 執(zhí)行程序后,可以得到如2-22所示的圖形:圖2-22 顏色條(例2-17)對(duì)照?qǐng)D形中的顏色、數(shù)值和顏色條中對(duì)應(yīng)顏色、數(shù)值,就可以發(fā)現(xiàn)顏色條是標(biāo)志圖形中顏色對(duì)應(yīng)的數(shù)值范圍了。2.2.7 使用繪圖工具欄標(biāo)注圖形除了使用函數(shù)方式來(lái)標(biāo)注圖面外,另一種比較方便的做法是直接使用繪圖工具欄功能,首先在繪圖窗口的菜單中選取【View】中【Plot Edit Toorbar】選項(xiàng),即會(huì)顯示如圖2-22所示的工具欄,這些工具的功能都類似于微軟的畫板功能,因此可以很方便地使用:圖2-23 Plot Edit 工具欄使用這種方法標(biāo)注圖形的

39、步驟是:(1)首先,單擊【Edit Plot】按鈕,選取如圖2-24所示的曲線為當(dāng)前對(duì)象后,就可以通過(guò)【Color】按鈕來(lái)改變曲線的顏色;或單擊【Edit Plot】按鈕,選取如圖2-24所示的坐標(biāo)軸為當(dāng)前對(duì)象后,就可以通過(guò)【Color】按鈕來(lái)填充整個(gè)坐標(biāo)系的背景的顏色了。(2)在繪圖窗口中除了可以插入label、title或text于圖中外,還可以單擊【Insert Textbox】按鈕,于圖面上單擊鼠標(biāo)左鍵來(lái)放置該文本框的顯示位置,則完成后會(huì)自動(dòng)顯示一文本框,于框內(nèi)輸入文字即可,如圖2-24所示,MATLAB會(huì)自動(dòng)依據(jù)適合的大小來(lái)調(diào)整文本框,當(dāng)然,用戶也可以自行通過(guò)鼠標(biāo)拖拽來(lái)修改文本框的大

40、小與位置。 圖 2-24 Plot Edit 工具欄的應(yīng)用(3)因?yàn)槲覀円付ǔ鰞蓚€(gè)波峰間的距離,因此單擊【Insert Line】按鈕,在兩波峰兩位置出使用鼠標(biāo)拖拽出兩條線,在通過(guò)【Insert Double Arrow】按鈕畫出兩線間的箭頭;最后我們?cè)谠摷^上方建立一個(gè)文本框并輸入文字的內(nèi)容為pi,假設(shè)文本框已為當(dāng)前對(duì)象,在文本框上單擊鼠標(biāo)右鍵選取“Edge Color”選項(xiàng)后,將框的顏色設(shè)為白色即可。圖2-25所示為完成后的圖形。 圖 2-25 應(yīng)用Plot Edit工具欄標(biāo)注圖形 (4)圖中所有建立好的對(duì)象都可以通過(guò)【Edit Plot】按鈕選取為當(dāng)前對(duì)象后,來(lái)修改相關(guān)屬性,如Text

41、對(duì)象就可以通過(guò)工具欄的工具來(lái)更改文字的顏色、對(duì)齊方式、字型與字體等設(shè)置。2.3 填充圖形的繪制 有時(shí),為了美觀起見(jiàn),我們需要對(duì)一個(gè)封閉的圖形進(jìn)行填充處理。MATLAB提供了1個(gè)用于圖形填充的命令fill。fill函數(shù)會(huì)將x和y數(shù)據(jù)所指定的點(diǎn)相連,以形成一個(gè)封閉的二維多邊形,并將此多邊形填充顏色。fill的使用方式如下:(1)fill(x,y,d)在x與y的數(shù)據(jù)中,用d指定顏色來(lái)填充建立一個(gè)多邊形。其中d為顏色映像索引向量或矩陣或顏色字符(r,g,b,c,m,y,w,k)。若d是列向量,則length(d)必須等于size(x,2)與size(y,2)。若d為行向量,則length(d)必須等于

42、size(x,1)與size(y,1)。如果必要,fill函數(shù)會(huì)自動(dòng)將多邊形依據(jù)起點(diǎn)與終點(diǎn)兩個(gè)端點(diǎn)連接形成一個(gè)封閉的多邊形。(2)fill(x,y,ColorSpec)用ColorSpec指定的顏色填充由x與y定義的多邊形,其中ColorSpec可以為顏色:r,g,b,c,m,y,w,k。(3)fill(x1,y1,c1,x2,y2,c2)一次定義多個(gè)要填充的二維區(qū)域。(4)fill(,PropertyName,PropertyValue)允許用戶定義組成fill多邊形的patch圖形對(duì)象某個(gè)屬性名稱的屬性值。(5)h=fill()返回patch圖形對(duì)象句柄值的向量,并且每一個(gè)patch對(duì)象對(duì)

43、應(yīng)一個(gè)句柄值。例2-18 圖形填充命令fill使用實(shí)例。利用fill函數(shù)繪制一個(gè)八角形。解:在命令窗口輸入以下代碼 t=(1/16:1/8:1)*2*pi; %定義八角形的刻度x=sin(t);y=cos(t);H=fill(x,y,r);axis squareset(H,LineWidth,5) %設(shè)置八角形的邊線寬度set(gcf,color,w,Position,400,350,250,150,MenuBar,none)set(gca,Visible,off) %隱藏坐標(biāo)軸 執(zhí)行該程序,得到如2-26所示的圖形: 圖2-26 fill繪制八角形2.4 多坐標(biāo)系繪圖與圖形窗口的分割在科學(xué)研

44、究中,有時(shí)我們需要在一張圖紙中繪制多幅圖形,以便于觀看它們之間的關(guān)系。雖然我們可以通過(guò)坐標(biāo)平移的方法達(dá)到這個(gè)要求,但這種方法操作起來(lái)比較麻煩。對(duì)于這類問(wèn)題,MATLAB提供了兩種解決的方法:(1)圖形疊印的方法,即使用同一坐標(biāo)繪制多幅圖形;(2)子圖繪制的方法,即利用圖形的分割實(shí)現(xiàn)多幅子圖的繪制。下面分別對(duì)這兩種方法進(jìn)行介紹。2.4.1 圖形疊印法單獨(dú)使用hold可以把切換當(dāng)前的繪圖疊加模式,將當(dāng)前繪圖窗口的疊加模式從on改變?yōu)閛ff,或者從off改變到on。hold on或hold off則是明確制定當(dāng)前繪圖窗口疊加繪圖模式的開關(guān)狀態(tài)。hold all不但實(shí)現(xiàn)hold on的功能,使得當(dāng)前繪

45、圖窗口的疊加繪圖模式打開,而且使新的繪圖指令依然循環(huán)初始設(shè)置的顏色循環(huán)序和線型循環(huán)序。當(dāng)MATLAB執(zhí)行到某一條繪圖指令時(shí),如果沒(méi)有圖形窗口存在,則MATLAB會(huì)新建一個(gè)圖形窗口,并以新建的圖形窗口為當(dāng)前圖形窗口繪圖;如果有圖形窗口已經(jīng)存在,則該繪圖指令會(huì)以最后被激活(最后新建、最后被鼠標(biāo)點(diǎn)擊等)的圖形窗口為當(dāng)前圖形窗口進(jìn)行繪圖。如果當(dāng)前圖形窗口的疊加繪圖模式關(guān)閉時(shí),則新執(zhí)行的繪圖指令會(huì)沖掉當(dāng)前圖形窗口中已有的圖形,只顯示最后的繪圖指令的執(zhí)行結(jié)果;而如果當(dāng)前圖形窗口的疊加繪圖模式開啟時(shí),則新執(zhí)行的繪圖指令繪制的函數(shù)曲線或數(shù)據(jù)點(diǎn)會(huì)疊加在原來(lái)已經(jīng)有的圖形上。例2-19 疊加繪圖函數(shù)hold使用實(shí)例

46、。利用函數(shù)hold繪制疊加圖形。解:在命令窗口輸入以下代碼 x=-5:5; y1=randn(size(x); y2=normpdf(x); subplot(2,1,1) holdCurrent plot held hold%切換子圖1的疊加繪圖模式到關(guān)閉狀態(tài)Current plot released plot(x,y1,b) plot(x,y2,r)%新的繪圖指令沖掉了原來(lái)的繪圖結(jié)果 title(hold off mode) subplot(2,1,2) hold on%打開子圖2的疊加繪圖模式 plot(x,y1,b) plot(x,y2,r)%新的繪圖結(jié)果碟架在原來(lái)的圖形中 title(

47、hold on mode) 執(zhí)行程序后,可以得到如圖2-27所示的圖形:圖2-27 疊加繪圖模式(例2-19)2.4.2 子圖的繪制在一個(gè)圖形窗口中繪制多幅圖的另一種方法是利用子圖繪制函數(shù)subplot()將當(dāng)前窗口分割成幾個(gè)區(qū)域,然后再在各個(gè)區(qū)域中分別繪圖。subplot()函數(shù)的使用方法如下所述。subplot最常用的語(yǔ)法格式為:subplot(m,n,i)這表示在當(dāng)前繪圖區(qū)中建立m行n列個(gè)繪圖子區(qū),并在編號(hào)為i的位置上建立坐標(biāo)系,并設(shè)置該位置為當(dāng)前繪圖區(qū)。繪圖子區(qū)的編號(hào)從優(yōu)先從頂行開始,然后是第二行,第三行例如,subplot(3,5,9)表示在當(dāng)前繪圖區(qū)中建立3行5列各繪圖子區(qū),并在第

48、2行,第四列的位置建立坐標(biāo)系準(zhǔn)備繪圖。例2-20 子圖函數(shù)subplot使用實(shí)例。利用函數(shù)subplot分別繪制y=x、y=x2、y=x3、y=x4的子圖。解:在命令窗口輸入以下代碼 x=-6:0.1:6; y1=x; y2=x.2; y3=x.3; y4=x.4; subplot(2,2,1) plot(x,y1) title(y1=x)%給當(dāng)前圖形添加標(biāo)題,下同 subplot(2,2,2) plot(x,y2) title(y2=x2) subplot(2,2,3) plot(x,y3) title(y3=x3) subplot(2,2,4) plot(x,y4) title(y4=x4

49、)執(zhí)行程序后,可以得到如圖2-28所示的圖形:圖2-28 子圖繪制(例2-20)2.5 特殊坐標(biāo)圖形的繪制前面我們介紹的圖形繪制中,坐標(biāo)軸基本上都是線性刻度的。而在有些學(xué)科的研究中,這個(gè)刻度的圖形滿足不了要求。例如,在控制工程、信號(hào)處理等學(xué)科中,往往要求繪制出極坐標(biāo)的圖形,而另一些學(xué)科中,有時(shí)要繪制出對(duì)數(shù)坐標(biāo)的圖形。MATLAB為我們方便地繪制這些圖形提供了專用的命令。2.5.1 繪制極坐標(biāo)圖形MATLAB提供了基本的極坐標(biāo)繪圖函數(shù)polar。polar函數(shù)常用的格式有兩種:(1)polar(theta,rho)(2)polar(theta,rho,LineSpec)其功能類似于plot函數(shù),

50、需要注意的是theta和rho也可以是普通的二維數(shù)組,但polar不能接受多對(duì)參數(shù)輸入。例2-21 極坐標(biāo)繪圖函數(shù)polar使用實(shí)例。利用函數(shù)polar繪制r=2sin2(t-/8)*2cos(2(t-/8).解:在命令窗口輸入以下代碼 t=0:0.01*pi:2*pi; r=2*sin(2*(t-pi/8).*cos(2*(t-pi/8); polar(t,r)執(zhí)行程序后,可以得到如2-29所示圖形:圖2-29 極坐標(biāo)繪圖(例2-21)2.5.2對(duì)數(shù)/半對(duì)數(shù)坐標(biāo)系繪圖MATLAB中繪圖除了用標(biāo)準(zhǔn)的直角坐標(biāo)系,還可以采用對(duì)數(shù)刻度坐標(biāo)系。表2-4列出了MATLAB中和對(duì)數(shù)/半對(duì)數(shù)坐標(biāo)系相關(guān)的繪圖函數(shù)。表2-4 對(duì)數(shù)/半對(duì)數(shù)坐標(biāo)系繪圖函數(shù)函數(shù)說(shuō)明semilogxx軸采用對(duì)數(shù)刻度的半對(duì)數(shù)坐標(biāo)系繪圖函數(shù)semilogyy軸采用對(duì)數(shù)刻度的半對(duì)數(shù)坐標(biāo)系繪圖函數(shù)loglogx和y軸都采用對(duì)數(shù)刻度的半對(duì)數(shù)坐標(biāo)系繪圖函數(shù)這三個(gè)函數(shù)的使用語(yǔ)法和plot函數(shù)相同,唯一不同的就是繪圖結(jié)果中的坐標(biāo)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論