Matlab經(jīng)典課件 第四講 繪圖功能.ppt_第1頁
Matlab經(jīng)典課件 第四講 繪圖功能.ppt_第2頁
Matlab經(jīng)典課件 第四講 繪圖功能.ppt_第3頁
Matlab經(jīng)典課件 第四講 繪圖功能.ppt_第4頁
Matlab經(jīng)典課件 第四講 繪圖功能.ppt_第5頁
免費預覽已結(jié)束,剩余40頁可下載查看

下載本文檔

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

文檔簡介

1、第四講 繪圖功能,作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三維圖形函數(shù)。由于系統(tǒng)采用面向?qū)ο蟮募夹g(shù)和豐富的矩陣運算,所以在圖形處理方面即常方便又高效。,4.1 二維圖形,一、 plot函數(shù) 函數(shù)格式:plot(x,y) 其中x和y為坐標向量 函數(shù)功能:以向量x、y為軸,繪制曲線。 【例1】 在區(qū)間0X2內(nèi),繪制正弦曲線Y=SIN(X),其程序為: x=0:pi/100:2*pi; y=sin(x); plot(x,y),【例2】同時繪制正、余弦兩條曲線Y1=SIN(X)和Y2=COS(X),其程序為: x=0:pi/100:2*pi; y1=sin(x

2、); y2=cos(x); plot(x,y1,x,y2) plot函數(shù)還可以為plot(x,y1,x,y2,x,y3,)形式,其功能是以公共向量x為X軸,分別以y1,y2,y3,為Y軸,在同一幅圖內(nèi)繪制出多條曲線。,4.1 二維圖形,一、 plot函數(shù),(一)線型與顏色 格式:plot(x,y1,cs,.) 其中c表示顏色, s表示線型。,4.1 二維圖形,一、 plot函數(shù),【例3】 用不同線型和顏色重新繪制例4.2圖形,其程序為: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,go,x,y2,b-.) 其中參數(shù)go和b-.表示圖形的顏色

3、和線型。g表示綠色,o表示圖形線型為圓圈;b表示藍色,-.表示圖形線型為點劃線。,(二)圖形標記 在繪制圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、坐標說明等,將這些操作稱為添加圖形標記。 title(加圖形標題); xlabel(加X軸標記); ylabel(加Y軸標記); text(X,Y,添加文本);,4.1 二維圖形,一、 plot函數(shù),(三)設定坐標軸 用戶若對坐標系統(tǒng)不滿意,可利用axis命令對其重新設定。 axis(xmin xmax ymin ymax) 設定最大和最小值 axis (auto) 將坐標系統(tǒng)返回到自動缺省狀態(tài) axis (square)

4、將當前圖形設置為方形 axis (equal) 兩個坐標因子設成相等 axis (off) 關(guān)閉坐標系統(tǒng) axis (on) 顯示坐標系統(tǒng),4.1 二維圖形,一、 plot函數(shù),【例4】 在坐標范圍0X2,-2Y2內(nèi)重新繪制正弦曲線,其程序為: x=linspace(0,2*pi,60);生成含有60個數(shù)據(jù)元素的向量X y=sin(x); plot(x,y); axis (0 2*pi -2 2);設定坐標軸范圍,4.1 二維圖形,一、 plot函數(shù),(四)加圖例 給圖形加圖例命令為legend。該命令把圖例放置在圖形空白處,用戶還可以通過鼠標移動圖例,將其放到希望的位置。 格式:legend

5、(圖例說明,圖例說明);,4.1 二維圖形,一、 plot函數(shù),【例5】 為正弦、余弦曲線增加圖例,其程序為: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2, -); legend(sin(x),cos(x);,(一)subplot(m,n,p) 該命令將當前圖形窗口分成mn個繪圖區(qū),即每行n個,共m行,區(qū)號按行優(yōu)先編號,且選定第p個區(qū)為當前活動區(qū)。,4.1 二維圖形,二、 subplot函數(shù),【例6】 在一個圖形窗口中同時繪制正弦、余弦、正切、余切曲線,程序為: x=linspace(0,2*pi,60); y=sin(x); z

6、=cos(x); t=sin(x)./(cos(x)+eps); eps為系統(tǒng)內(nèi)部常數(shù) ct=cos(x)./(sin(x)+eps); subplot(2,2,1); 分成22區(qū)域且指定1號為活動區(qū) plot(x,y); title(sin(x); axis (0 2*pi -1 1); subplot(2,2,2);,plot(x,z); title(cos(x); axis (0 2*pi -1 1); subplot(2,2,3); plot(x,t); title(tangent(x); axis (0 2*pi -40 40); subplot(2,2,4); plot(x,ct)

7、; title(cotangent(x); axis (0 2*pi -40 40);,4.1 二維圖形,二、subplot函數(shù),(二)多圖形窗口 需要建立多個圖形窗口,繪制并保持每一個窗口的圖形,可以使用figure命令。 每執(zhí)行一次figure命令,就創(chuàng)建一個新的圖形窗口,該窗口自動為活動窗口,若需要還可以返回該窗口的識別號碼,稱該號碼為句柄。句柄顯示在圖形窗口的標題欄中,即圖形窗口標題。用戶可通過句柄激活或關(guān)閉某圖形窗口,而axis、xlabel、title等許多命令也只對活動窗口有效。,4.1 二維圖形,二、subplot函數(shù),重新繪制上例4個圖形,程序變動后如下: x=linspac

8、e(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); H1=figure; 創(chuàng)建新窗口并返回句柄到變量H1 plot(x,y); 繪制圖形并設置有關(guān)屬性 title(sin(x); axis (0 2*pi -1 1); H2=figure; 創(chuàng)建第二個窗口并返回句柄到變量H2 plot(x,z); 繪制圖形并設置有關(guān)屬性 title(cos(x);,axis (0 2*pi -1 1); H3=figure; 同上 plot(x,t); title(tangent(x); axis

9、 (0 2*pi -40 40); H4=figure; 同上 plot(x,ct); title(cotangent(x); axis (0 2*pi -40 40);,4.1 二維圖形,二、subplot函數(shù),(三)hold命令 若在已存在圖形窗口中用plot命令繼續(xù)添加新的圖形內(nèi)容,可使用圖形保持命令hold。發(fā)出命令hold on后,再執(zhí)行plot命令,在保持原有圖形或曲線的基礎上,添加新繪制的圖形。,4.1 二維圖形,二、subplot函數(shù),閱讀如下程序: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); plot(x,y,b); 繪制正弦曲線 h

10、old on; 設置圖形保持狀態(tài) plot(x,z,g); 保持正弦曲線同時繪制余弦曲線 axis (0 2*pi -1 1); legend(cos,sin); hold off 關(guān)閉圖形保持,4.1 二維圖形,二、subplot函數(shù),三、 函數(shù)f(x)曲線 fplot函數(shù)則可自適應地對函數(shù)進行采樣,能更好地反應函數(shù)的變化規(guī)律。 fplot函數(shù)格式:fplot(fname,lims,tol) 其中fname為函數(shù)名,以字符串形式出現(xiàn),lims為變量取值范圍,tol為相對允許誤差,其其系統(tǒng)默認值為2e-3。 例:fplot(sin(x),0 2*pi,-+) fplot(sin(x),cos(

11、x),0 2*pi,1e-3,) 同時繪制正弦、余弦曲線,4.1 二維圖形,為繪制f(x)=cos(tan(x)曲線,可先建立函數(shù)文件fct.m,其內(nèi)容為: function y=fct(x) y=cos(tan(pi*x); 用fplot函數(shù)調(diào)用fct.m函數(shù),其命令為: fplot(fct,0 1,1e-4),4.1 二維圖形,三、 函數(shù)f(x)曲線,4.2 特殊坐標圖形,一、 對數(shù)坐標圖形 (一)loglog(x,y) 雙對數(shù)坐標 【例7】 繪制y=|1000sin(4x)|+1的雙對數(shù)坐標圖。程序為: x=0:0.1:2*pi; y=abs(1000*sin(4*x)+1; loglo

12、g(x,y); 雙對數(shù)坐標繪圖命令,(二)單對數(shù)坐標 以X軸為對數(shù)重新繪制上述曲線,程序為: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogx(x,y); 單對數(shù)X軸繪圖命令 同樣,可以以Y軸為對數(shù)重新繪制上述曲線,程序為: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogy(x,y); 單對數(shù)Y軸繪圖命令,4.2特殊坐標圖形,二、 極坐標圖 函數(shù)polar(theta,rho)用來繪制極坐標圖,theta為極坐標角度,rho為極坐標半徑 【例8】 繪制sin(2*)*cos(2*)的極坐標圖,程序為: theta=

13、0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho); 繪制極坐標圖命令 title(polar plot);,4.2特殊坐標圖形,4.3 其它圖形函數(shù),除plot等基本繪圖命令外,Matlab系統(tǒng)提供了許多其它特殊繪圖函數(shù),這里舉一些代表性例子,更詳細的信息用戶可隨時查閱在線幫助,其對應的M-file文件存放在系統(tǒng)matlabtoolboxmatlab目錄下。,4.3 其它圖形函數(shù),一、階梯圖形 函數(shù)stairs(x,y)可以繪制階梯圖形,如下列程序段: x=-2.5:0.25:2.5; y=exp(-x.*x); sta

14、irs(x,y); 繪制階梯圖形命令 title(stairs plot);,4. 3 其它圖形函數(shù),4.3 其它圖形函數(shù),二、條形圖形 函數(shù)bar(x,y)可以繪制條形圖形,如下列程序段將繪制條形圖形 x=-2.5:0.25:2.5; y=exp(-x.*x); bar(x,y); 繪制條形圖命令,4. 3 其它圖形函數(shù),4.3 其它圖形函數(shù),三、填充圖形 fill(x,y,c)函數(shù)用來繪制并填充二維多邊圖形,x和y為二維多邊形頂點坐標向量。字符 c 規(guī)定填充顏色,其取值前已敘述。 下述程序段繪制一正方形并以黃色填充:,4. 3 其它圖形函數(shù),4.3 其它圖形函數(shù),x=0 1 1 0 0;

15、正方形頂點坐標向量 y=0 0 1 1 0; fill(x,y,y);繪制并以黃色填充正方形圖 再如: x=0:0.025:2*pi; y=sin(3*x); fill(x,y,0.5 0.3 0.4); 顏色向量 Matlab系統(tǒng)可用向量表示顏色,通常稱其為顏色向量?;绢伾蛄坑胷 g b表示,即RGB顏色組合;以RGB為基本色,通過 r,g,b在01范圍內(nèi)的不同取值可以組合出各種顏色。,4. 3 其它圖形函數(shù),二維繪圖函數(shù)小結(jié),plot 二維圖形基本函數(shù) fplot f(x)函數(shù)曲線繪制 fill 填充二維多邊圖形 polar 極坐標圖 bar 條形圖 loglog 雙對數(shù)坐標圖 sem

16、ilogx X軸為對數(shù)的坐標圖 semilogy Y軸為對數(shù)的坐標圖 stairs 階梯形圖 axis 設置坐標軸 clf 清除圖形窗口內(nèi)容 close 關(guān)閉圖形窗口,figure 創(chuàng)建圖形窗口 grid 放置坐標網(wǎng)格線 gtext 用鼠標放置文本 hold 保持當前圖形窗口內(nèi)容 subplot 創(chuàng)建子圖 text 放置文本 title 放置圖形標題 xlabel 放置X軸坐標標記 ylabel 放置Y軸坐標標記,4. 3 其它圖形函數(shù),4.4 三維圖形,一、 plot3函數(shù) 最基本的三維圖形函數(shù)為plot3,它是將二維函數(shù)plot的有關(guān)功能擴展到三維空間,用來繪制三維圖形。 函數(shù)格式:plo

17、t3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中x1,y1,z1表示三維坐標向量,c1,c2表示線形或顏色。 函數(shù)功能:以向量x,y,z為坐標,繪制三維曲線。,【例9】 繪制三維螺旋曲線,其程序為: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title(helix),text(0,0,0,origin); xlabel(sin(t),ylabel(cos(t),zlabel(t); grid;,4.4 三維圖形,二、mesh函數(shù) mesh函數(shù)用于繪制三維網(wǎng)格圖。在不需要繪制特別精細的三維曲面結(jié)構(gòu)圖時,可以通過繪制三

18、維網(wǎng)格圖來表示三維曲面。三維曲面的網(wǎng)格圖最突出的優(yōu)點是:它較好地解決了實驗數(shù)據(jù)在三維空間的可視化問題。 函數(shù)格式:mesh(x,y,z,c) 其中x,y控制X和Y軸坐標,矩陣z是由(x,y)求得Z軸坐標,(x,y,z)組成了三維空間的網(wǎng)格點;c用于控制網(wǎng)格點顏色。,4.4 三維圖形,【例10】 下列程序繪制三維網(wǎng)格曲面圖 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); 矩陣相乘 mesh(x,y,z);,三、surf函數(shù) surf用于繪制三維曲面圖,各線條之間的補面用顏色填充。surf函數(shù)和mesh函數(shù)的調(diào)用格式一致。 函數(shù)格式: surf (x,

19、y,z) 其中x,y控制X和Y軸坐標,矩陣z是由x,y求得的曲面上Z軸坐標。,4.4 三維圖形,【例11】 下列程序繪制三維曲面圖形 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); 矩陣相乘 surf(x,y,z); xlabel(x-axis),ylabel(y-axis),zlabel(z-label); title(3-D surf);,四、視點 視點位置可由方位角和仰角表示。方位角又稱旋轉(zhuǎn)角為視點位置在XY平面上的投影與X軸形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角為XY平面的上仰或下俯角,正值表示視點在XY平面上方,負值表示

20、視點在XY平面下方。從不同視點繪制三維圖形的函數(shù)為view。 view(az,el)中的az為方位角,el為仰角。通過系統(tǒng)提供的多峰函數(shù)peaks的繪制例子,可進一步說明視點對圖形的影響,以及view(az,el)函數(shù)的使用。,4.4 三維圖形,【例12】 不同視角圖形 p=peaks; 系統(tǒng)提供的多峰函數(shù) subplot(2,2,1); mesh(peaks,p); view(-37.5,30); 指定子圖1的視點 title(azimuth=-37.5,elevation=30) subplot(2,2,2); mesh(peaks,p); view(-17,60); 指定子圖2的視點 t

21、itle(azimuth=-17,elevation=60),subplot(2,2,3); mesh(peaks,p); view(-90,0); 指定子圖3的視點 title(azimuth=-90,elevation=0) subplot(2,2,4); mesh(peaks,p); view(-7,-10);指定子圖4的視點 title(azimuth=-7,elevation=-10),4.4 三維圖形,五、等高線圖 等高線圖可通過函數(shù)contour3繪制。 【例13】 多峰函數(shù)peaks的等高線圖 x,y,z=peaks(30); contour3(x,y,z,16); xlabe

22、l(x-axis),ylabel(y-axis),zlabel(z-axis); title(contour3 of peaks),4.4 三維圖形,4.5 圖形句柄,一、句柄 在Matlab系統(tǒng)中,繪圖命令產(chǎn)生的每一個部分稱為圖形對象,系統(tǒng)在創(chuàng)建每一個對象時,都為該對象分配唯一的一個值,稱其為句柄,因此句柄就是圖形對象標識符。對象、句柄以及圖形對象等概念其實質(zhì)是統(tǒng)一的,系統(tǒng)將每一個對象按樹型層次結(jié)構(gòu)組織起來,這些對象包括根對象,通常為計算機屏幕、圖形窗口、坐標系統(tǒng)、線條、曲面、文本串、用戶界面控制等。,根對象可包含一個或多個圖形窗口對象,而一個圖形窗口對象又可包含一組或多組坐標系子對象,線條

23、、文本等其它對象都是坐標系的子對象。所有創(chuàng)建對象的函數(shù)當父對象不存在時,都會自動創(chuàng)建它。 計算機屏幕作為根對象自動建立,其句柄值為0。而Hf_f=figure命令則建立圖形窗口對象,并返回它的句柄值給變量Hf_f。圖形窗口的句柄為一整數(shù),并顯示在該窗口的標題欄,其它圖形對象的句柄為浮點數(shù),Matlab提供了一系列與句柄操作有關(guān)的函數(shù),如gcf 、gca等。為便于識別,用大寫字母開頭的變量表示句柄,如Hf_f等。,4.5 圖形句柄,二、對象屬性 所有圖形對象都具有控制對象顯示的屬性。這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標系對象的刻度等。

24、用戶可以獲取、設置對象屬性,以達到控制對象的目的。當創(chuàng)建一個對象時,系統(tǒng)用一組默認屬性值定制對象,用戶梢醞get命令獲取這些屬性值,同時也可通過set命令重新設置對象屬性。 set命令格式為: set(H,name,value,) 將圖形對象H的name屬性設置為value 其中H為句柄,name為屬性名,value為name的屬性值。,4.5 圖形句柄,4.5 圖形句柄,用set命令可以方便地設置圖形對象屬性,如下列程序段就是通過屬性來定制圖形。 x=0:0.1:4*pi; H=plot(x,sin(x); 返回正弦曲線句柄H set(H,LineStyle,*,LineWidth,0.1)

25、;設置正弦曲線線型與線寬 其中LineStyle為線型屬性,LineWidth為線寬屬性。,4.5 圖形句柄,4.5 圖形句柄,利用get(H)命令可以返回當前句柄H對象的屬性。 鍵入命令:get(H) 系統(tǒng)返回當前圖形對象的有關(guān)屬性: 象H=get(0,CurrentFigure)則返回根對象的CurrentFigure的屬性值,即當前圖形窗口的句柄,相當于函數(shù)gcf。get(gcf,Children)則返回當前坐標系對象的句柄;類似的操作用戶可在使用Matlab的過程中不斷積累。,4.5 圖形句柄,4.5 圖形句柄,三、句柄應用 利用句柄操作的有關(guān)函數(shù),用戶可以查找、訪問圖形對象,以達到定制對象屬性,改變對象顯示效果的目的。 x=-pi:pi/20:pi; y=sin(x);z=cos(x); plot(x,y,r,x,z,g); Hl_lines=get(gca,Children); 獲取正、余曲線句柄向量Hl_lines for k=1:size(Hl_lines) if get(Hl_lines(k),Color)=0 1 0 0 1 0為綠顏色向 Hl_green=Hl_lines(k)

溫馨提示

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

評論

0/150

提交評論