《MATLAB教程及實訓(第2版)》曹弋ppt3_第1頁
《MATLAB教程及實訓(第2版)》曹弋ppt3_第2頁
《MATLAB教程及實訓(第2版)》曹弋ppt3_第3頁
《MATLAB教程及實訓(第2版)》曹弋ppt3_第4頁
《MATLAB教程及實訓(第2版)》曹弋ppt3_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章數據的可視化(Graphics)3.1二維繪圖3.2特殊圖形和坐標的繪制3.3MATLAB的圖形窗口3.4基本三維繪圖命令

3.1二維繪圖(2-Dplotting)

3.1.1繪圖的一般步驟1.曲線數據準備2.指定圖形窗口和子圖位置3.繪制圖形4.設置坐標軸和圖形注釋5.僅對三維圖形使用的著色和視點等設置6.圖形的精細修飾7.按指定格式保存或導出圖形3.1.2基本繪圖函數

(Plottingfunction)MATLABR2010a中最基本的繪圖函數是繪制曲線函數plot。plot(y) %繪制以y為縱坐標的二維曲線plot(x,y) %繪制以x為橫坐標y為縱坐標的二維曲線plot(x1,y1,x2,y2…) %在同一窗口繪制多條二維曲線圖說明:x和y可以是實數向量或矩陣,也可以是復數向量或矩陣。例3-3

繪制矩陣y為2×3的曲線圖>>y=[123;456];>>plot(y)y是2×3的矩陣,每列畫一條曲線共3條,第一條線縱坐標畫的是[14]兩點。例3-4

繪制方波信號,如圖3-4所示。>>x=[011223344];>>y=[110011011];>>plot(x,y)x和y為向量或矩陣時的plot(x,y),分別有以下幾種情況:x是向量y是矩陣時x的長度與矩陣y的行數或列數必須相等,如果x的長度與y的每列元素個數相等,向量x與y的每列向量畫一條曲線;如果x的長度與y的每行元素個數相等,則向量x與矩陣y的每行向量對應畫一條曲線;如果y是方陣,x和y的行數和列數都相等,則向量x與矩陣y的每列向量畫一條曲線。x是矩陣y是向量時y的長度必須等于x的行數或列數,繪制的方法與前一種相似。x和y都是矩陣時x和y大小必須相同,矩陣x的每列與y的每列畫一條曲線。Ex例3-6x是矩陣,分別繪制x與y1和x與y2的曲線,已知y1是向量且長度與x的行數相等,y2是矩陣且與x尺寸相同,曲線分別如圖3-6a和3-6b所示。>>x=[1:4;2:5;3:6]x=123423453456>>y1=[123] %y1長度與x的行數相等y1=123>>plot(x,y1)Ex3.1.3多個圖形的繪制1.同一個窗口多個子圖使用subplot函數建立子圖,subplot函數的命令格式如下:subplot(m,n,i) %將窗口分成(m×n)幅子圖中,第i幅為當前圖說明:subplot中的逗號(,)可以省略;子圖的編排序號原則是:左上方為第1幅,先從左向右后從上向下依次排列,子圖彼此之間獨立。例3-8

在同一個窗口中建立四個子圖,在子圖中分別繪制sin(x)、cos(x)、sin(2x)和cos(2x)曲線,如圖3-8所示。>>x=0:0.1:10;>>subplot(2,2,1)%第一行左圖>>plot(x,sin(x))>>subplot(2,2,2)%第一行右圖>>plot(x,cos(x))>>subplot(2,2,3)%第二行左圖>>plot(x,sin(2*x))>>subplot(2,2,4)%第二行右圖>>plot(x,cos(2*x))2.雙縱坐標圖雙縱坐標圖是指在同一個坐標系中使用左右兩個不同刻度的坐標軸。plotyy(x1,y1,x2,y2) %以左、右不同的縱軸繪制兩條曲線3.同一窗口多次疊繪使用hold命令可以保留原圖形,使多個plot函數在一個坐標系中不斷疊繪。holdon、holdoff、hold、holdall。4.指定圖形窗口figure(n) %產生新圖形窗口練習3.1.4設置曲線繪制方式、坐標軸和圖形注釋1.曲線的線型、顏色和數據點形在plot函數中還可以通過字符串參數來設置曲線的線型、顏色和數據點形等,命令格式如下:plot(x,y,s)說明:s為字符串,設置曲線的線型、顏色和數據點形等,線型、顏色與數據點形參數。例3-11

在圖形中設置曲線的不同線型和顏色并繪制圖形,如圖3-11所示。>>x=0:0.2:10;>>y=exp(-x);>>plot(x,y,'ro-.') >>holdon>>z=sin(x);>>plot(x,z,'m+:')2.設置坐標軸3.分隔線和坐標框4.圖形注釋圖形注釋是對打開的正在編輯的圖形進行文字標注,文字標注包括設置標題(title)、設置坐標軸標簽(label)、設置圖例(legend)和添加標注元素(annotation)。5.使用鼠標添加注釋文字gtext('s')%用鼠標把字符串放在圖形上gtext({'s1','s2','s3',...}) %一次將多個的字符串分行放置在圖形上gtext({'s1';'s2';'s3';...}) %一次放置一個字符串分多次放置在圖形上6.使用鼠標獲取圖形數據[x,y]=ginput(n) %用鼠標從圖形上獲取n個點的坐標(x,y)說明:參數n應為正整數,是通過鼠標從圖上獲得數據點的個數;x、y用來存放所取點的坐標是列向量,每次獲取的坐標點為列向量的一個元素。3.2特殊圖形和坐標的繪制(SpecializedPlotting)

3.2.1特殊圖形繪制在MATLABR2010a的Workspace窗口中,如果選擇了Workspace窗口中的某個內存變量,單擊工具欄中的繪制列數據曲線按鈕(Plot),出現下拉的菜單可以繪制各種不同的特殊圖形。1.柱狀圖柱狀圖常用于對統(tǒng)計的數據進行顯示,便于觀察在一定時間段中數據的變化趨勢,比較不同組數據集以及單個數據在所有數據中的分布情況,特別適用于少量且離散的數據。bar(x,y,width,參數) %畫柱狀圖2.面積圖面積圖與柱狀圖相似,只不過是將一組數據的相鄰點連接成曲線,然后在曲線與橫軸之間填充顏色,適合于連續(xù)數據的統(tǒng)計顯示。area(x,y) %畫面積圖

3.餅形圖餅形圖適用于顯示向量或矩陣中各元素占總和的百分比。pie(x,explode,'label') %畫二維餅形圖x是向量,用于繪制餅形圖;explode是與x同長度的向量,用來決定是否從餅圖中分離對應的一部分塊,非零元素表示該部分需要分離;'label'是用來標注餅形圖的字符串數組。練習4.直方圖直方圖又稱為頻數直方圖,適于顯示數據集的分布情況并具有統(tǒng)計的功能。hist(y,n) %統(tǒng)計每段的元素個數并畫出直方圖N=hist(y,x) %統(tǒng)計出每段元素個數說明:n分段的個數,n省略時則默認為分成10段;x是向量,用于指定所分每個數據段的中間值;y可以是向量或矩陣,如果是矩陣則按列分段;N是每段元素個數,N可省略,省略時繪制圖形。例3-18

繪制直方圖統(tǒng)計并顯示數據,如圖3-20所示。>>x=randn(100,1)%產生100個正態(tài)分布的隨機數>>subplot(2,1,1)>>hist(x,20) %分20段>>subplot(2,1,2)>>hist(x,-3:1:3) %確定每段中間值>>sum((x<=2.5)&(x>1.5))%計算1.5~2.5間的元素個數5.離散數據圖(1)stem函數將數據用一個垂直于橫軸的火柴棒表示,火柴頭的小圓表示數據點。stem(x,y,參數) %繪制火柴桿圖(2)stairs函數stairs函數用于繪制階梯圖,命令格式如下:stairs(x,y,'線型') %繪制階梯圖6.誤差條圖誤差條圖是用來繪制誤差的條形圖,顯示沿著曲線的誤差,常用于數理統(tǒng)計。errorbar(X,Y,E,'線型') %繪制在(X,Y)處長為E的誤差條errorbar(X,Y,L,U,'線型') %繪制在(X,Y)處向下長為L向上長為U的誤差條7.向量圖(1)compass函數compass函數繪制的圖中每個數據點都是以原點為起點的帶箭頭的線段,稱為羅盤圖compass(u,v,'線型')%繪制橫坐標為u縱坐標為v的羅盤圖(2)feather函數feather函數是在直角坐標系中繪圖,起點為X軸上間隔單位長度的刻度點,稱為羽毛圖,feather(u,v,'線型')%繪制橫坐標為u縱坐標為v的羽毛圖(3)quiver函數quiver函數繪制向量場,也是在直角坐標系中繪圖,常用于繪制梯度場,quiver(x,y,u,v)%繪制以(x,y)為起點,橫縱坐標為(u,v)的向量場例3-20已知如圖3-23所示電路圖,電流I=10sin(100t+π/6),R=10Ω,wL=3Ω,1/wc=2Ω時計算U、Ur、Uc和UL,分別使用compass、feather和quiver函數繪制復相量U、Ur、Uc和UL的向量圖.>>R=10;>>zc=2*1/j;>>zl=3j;>>Ur=I*R %電阻電壓>>Uc=zc*I %電容電壓>>Ul=zl*I %電感電壓>>U=I*(R+zc+zl)>>compass([Uc,Ur,Ul,U],'r') %繪制紅色羅盤圖>>feather([Uc,Ur,Ul,U]) %繪制羽毛圖>>quiver([0,1,2,3],0,[real(Ur),real(Uc),real(Ul),real(U)],[imag(Ur),imag(Uc),imag(Ul),imag(U)])3.2.2特殊坐標軸圖形繪制1.極坐標圖polar(theta,rho,參數) %根據相角theta和離原點的距離rho繪制極坐標圖例3-21

使用polar函數來繪制極坐標圖。>>theta=0:0.1:2*pi;>>r1=sin(theta);>>r2=cos(theta);%在極坐標中繪制兩條曲線>>polar([theta,theta],[r1,r2],'r')

2.對數坐標圖對數坐標圖是指坐標軸的刻度不是線性刻度而是對數刻度,semilogx和semilogy函數分別繪制對X軸和Y軸的半對數坐標圖,loglog是雙對數坐標圖。semilogx(x1,y1,'線型',x2,y2,'線型',……) %繪制x為對數的多條曲線semilogy(x1,y1,'線型',x2,y2,'線型',……) %繪制y為對數的多條曲線loglog(x1,y1,'線型',x2,y2,'線型',……) %繪制x、y都為對數的多條曲線例3-22

計算對數幅頻特性,橫坐標為w按對數坐標。>>w=logspace(-1,2,10);>>Lw=-20*log10(sqrt((0.05*w).^2+1));>>semilogx(w,Lw)>>loglog(w,Lw)3.3MATLAB的圖形窗口

3.3.1圖形窗口界面1.工具欄MATLABR2010a圖形窗口有三個工具欄,如圖3-27所示,包括圖形窗口工具欄、照相工具欄和繪圖編輯工具欄。2.菜單圖形窗口的菜單包括“File”、“Edit”、“View”、“Insert”、“Tools”、“Desktop”、“Window”和“Help”。

3.面板MATLABR2010a的交互式圖形工具主要包括圖形面板、繪圖瀏覽器和屬性編輯器三個面板。練習3.3.2圖形的打印和輸出1.圖形的打印在MATLAB中對圖形打印可以通過打印預覽窗口進行設置,可以設置打印到紙或文件,并可以進行頁面設置、打印預覽。2.圖形的輸出(1)導出圖形文件在MATLABR2010a中導出圖形文件使用菜單“File”→“ExportSetup…”

。圖形文件的保存格式有.fig、.bmp、.emf、.jpg、.pdf、.tif、.pcx和.png等常用圖形文件格式。3.4基本三維繪圖命令(3-DGraphs)

3.4.1三維曲線圖(LinePlots)plot3(x,y,z,'線型') %繪制三維曲線說明:x,y,z必須是相同尺寸的數組,當是向量時則繪制一條三維曲線,當是矩陣時繪制多條曲線,三維曲線的條數等于矩陣的列數。3.4.2三維曲面圖三維曲面圖包括三維網線圖和三維表面圖,三維曲面圖與三維曲線圖的不同是三維曲線圖是以線來定義而三維曲面圖是以面來定義,因此面上的點都要連接起來。1.產生矩形網格[X,Y]=meshgrid(x,y) %產生XY矩形網格說明:x和y分別是有n個和m個元素的一維數組,X和Y都是n×m的矩陣,每個(X,Y)對應一個網格點;如果y省略,則X和Y都是n×n的矩陣。2.三維網線圖三維網線圖就是將平面上的網格點(X,Y)對應z值的頂點畫出,并將各頂點用線連接起來。mesh(X,Y,Z,C)%繪制網格點數據對應的三維網線例3-26

繪制z=x2+y2的三維網線圖>>x=0:10;>>[X,Y]=meshgrid(x) %y省略則表示x=y >>Z=X.^2+Y.^2;>>mesh(X,Y,Z)3.三維表面圖三維表面圖與網線圖相似,但不同的是網線圖中網格范圍內的區(qū)域為空白,而三維表面圖則用顏色來填充。surf(X,Y,Z,C)%繪制網格點數據對應的三維表面圖另外,surf函數還有兩個派生的函數surfc和surfl,surfc用來繪制三維表面圖并加等高線,surfl用來繪制三維表面圖并加光照效果。3.4.3設置視角和色彩1.設置視角view([az,el]) %通過方位角和俯仰角設置視角view([x,y,z]) %通過(x,y,z)直角坐標設置視角2.設置色彩MATLAB使用colormap函數來設置色圖以及顯示色圖矩陣的值,使用colorbar顯示色圖的顏色條。相關網頁:/cn/help/matlab/examples/#graphicsExercise在0~10的坐標軸范圍內繪制一條水平線,一條垂直線。y=0:0.02:10;x=0:0.02:10;plot(x,1,1,y)Exercise運行以下命令:>>x=[123;456];>>y=[12];>>plot(x,y,x,2*y)則在圖形窗口中繪制______條曲線

溫馨提示

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

評論

0/150

提交評論