《matlab繪圖功能》PPT課件



《《matlab繪圖功能》PPT課件》由會員分享,可在線閱讀,更多相關《《matlab繪圖功能》PPT課件(45頁珍藏版)》請在裝配圖網上搜索。
1、第四講 繪圖功能作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三維圖形函數。由于系統采用面向對象的技術和豐富的矩陣運算,所以在圖形處理方面即常方便又高效。4.1 二維圖形二維圖形一、一、plot函數函數函數格式:plot(x,y)其中x和y為坐標向量函數功能:以向量x、y為軸,繪制曲線?!纠? 1】在區間0X2內,繪制正弦曲線Y=SIN(X),其程序為:x=0:pi/100:2*pi;y=sin(x);plot(x,y)【例例2 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函數還可以為plot(x,y1,x,y2,x,y3,)形式,其功能是以公共向量x為X軸,分別以y1,y2,y3,為Y軸,在同一幅圖內繪制出多條曲線。4.1 二維圖形一、一、plot函數函數(一)線型與顏色(一)線型與顏色格式:格式:plot(x,y1,cs,.)其中c表示顏色,s表示線型。4.1 二維圖形一、一、plot函數函數【例3】用不同線型和顏色重新繪制例圖形,其程序為:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,go,x,y2,b-.)其中參數go和b-.表示圖形的顏色和線型。g
3、表示綠色,o表示圖形線型為圓圈;b表示藍色,-.表示圖形線型為點劃線。(二)圖形標記(二)圖形標記在繪制圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、坐標說明等,將這些操作稱為添加圖形標記。title(加圖形標題);xlabel(加X軸標記);ylabel(加Y軸標記);text(X,Y,添加文本);4.1 二維圖形一、一、plot函數函數(三)設定坐標軸(三)設定坐標軸用戶若對坐標系統不滿意,可利用axis命令對其重新設定。axis(xmin xmax ymin ymax)設定最大和最小值axis(auto)將坐標系統返回到自動缺省狀態axis(square)將當前圖形
4、設置為方形axis(equal)兩個坐標因子設成相等axis(off)關閉坐標系統axis(on)顯示坐標系統4.1 二維圖形一、一、plot函數函數【例例4 4】在坐標范圍0X2,-2Y2內重新繪制正弦曲線,其程序為:x=linspace(0,2*pi,60);生成含有60個數據元素的向量Xy=sin(x);plot(x,y);axis(0 2*pi-2 2);設定坐標軸范圍4.1 二維圖形一、一、plot函數函數(四)加圖例(四)加圖例給圖形加圖例命令為legend。該命令把圖例放置在圖形空白處,用戶還可以通過鼠標移動圖例,將其放到希望的位置。格式:legend(圖例說明圖例說明,圖例說明
5、圖例說明);4.1 二維圖形一、一、plot函數函數【例例5 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個繪圖區,即每行n個,共m行,區號按行優先編號,且選定第p個區為當前活動區。4.1 二維圖形二、subplot函數【例6】在一個圖形窗口中同時繪制正弦、余弦、正切、余切曲線,程序為:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x).
6、/(cos(x)+eps);eps為系統內部常數ct=cos(x)./(sin(x)+eps);subplot(2,2,1);分成22區域且指定1號為活動區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);title(cotangent(x);axis(0 2*pi-40 40);4.
7、1 二維圖形二、二、subplot函數函數(二)多圖形窗口(二)多圖形窗口需要建立多個圖形窗口,繪制并保持每一個窗口的圖形,可以使用figure命令。每執行一次figure命令,就創建一個新的圖形窗口,該窗口自動為活動窗口,若需要還可以返回該窗口的識別號碼,稱該號碼為句柄。句柄顯示在圖形窗口的標題欄中,即圖形窗口標題。用戶可通過句柄激活或關閉某圖形窗口,而axis、xlabel、title等許多命令也只對活動窗口有效。4.1 二維圖形二、二、subplot函數函數重新繪制上例4個圖形,程序變動后如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x
8、)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);H1=figure;創建新窗口并返回句柄到變量H1plot(x,y);繪制圖形并設置有關屬性title(sin(x);axis(0 2*pi-1 1);H2=figure;創建第二個窗口并返回句柄到變量H2plot(x,z);繪制圖形并設置有關屬性title(cos(x);axis(0 2*pi-1 1);H3=figure;同上plot(x,t);title(tangent(x);axis(0 2*pi-40 40);H4=figure;同上plot(x,ct);title(cotangent(x);axis(0
9、 2*pi-40 40);4.1 二維圖形二、二、subplot函數函數(三)(三)hold命令命令若在已存在圖形窗口中用plot命令繼續添加新的圖形內容,可使用圖形保持命令hold。發出命令hold on后,再執行plot命令,在保持原有圖形或曲線的基礎上,添加新繪制的圖形。4.1 二維圖形二、二、subplot函數函數閱讀如下程序:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,b);繪制正弦曲線hold on;設置圖形保持狀態plot(x,z,g);保持正弦曲線同時繪制余弦曲線axis(0 2*pi-1 1);legend(cos,sin
10、);hold off 關閉圖形保持4.1 二維圖形二、二、subplot函數函數三、函數f(x)曲線fplot函數則可自適應地對函數進行采樣,能更好地反應函數的變化規律。fplot函數格式:fplot(fname,lims,tol)其中fname為函數名,以字符串形式出現,lims為變量取值范圍,tol為相對允許誤差,其其系統默認值為2e-3。例:fplot(sin(x),0 2*pi,-+)fplot(sin(x),cos(x),0 2*pi,1e-3,)同時繪制正弦、余弦曲線4.1 二維圖形為繪制f(x)=cos(tan(x)曲線,可先建立函數文件fct.m,其內容為:function y
11、=fct(x)y=cos(tan(pi*x);用fplot函數調用fct.m函數,其命令為:fplot(fct,0 1,1e-4)4.1 二維圖形三、三、函數函數f(x)曲線曲線4.2 特殊坐標圖形特殊坐標圖形一、一、對數坐標圖形對數坐標圖形(一)(一)loglog(x,y)雙對數坐標雙對數坐標【例例7 7】繪制y=|1000sin(4x)|+1的雙對數坐標圖。程序為:x=0:0.1:2*pi;y=abs(1000*sin(4*x)+1;loglog(x,y);雙對數坐標繪圖命令(二)單對數坐標(二)單對數坐標以X軸為對數重新繪制上述曲線,程序為:x=0:0.01:2*piy=abs(1000
12、*sin(4*x)+1semilogx(x,y);單對數X軸繪圖命令同樣,可以以Y軸為對數重新繪制上述曲線,程序為:x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogy(x,y);單對數Y軸繪圖命令特殊坐標圖形二、二、極坐標圖極坐標圖函數polar(theta,rho)用來繪制極坐標圖,theta為極坐標角度,rho為極坐標半徑【例例8 8】繪制sin(2*)*cos(2*)的極坐標圖,程序為:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho);繪制極坐標圖命令title(polar
13、 plot);特殊坐標圖形4.3 其它圖形函數其它圖形函數除plot等基本繪圖命令外,Matlab系統提供了許多其它特殊繪圖函數,這里舉一些代表性例子,更詳細的信息用戶可隨時查閱在線幫助,其對應的M-file文件存放在系統matlabtoolboxmatlab目錄下。4.3 其它圖形函數其它圖形函數一、階梯圖形一、階梯圖形函數stairs(x,y)可以繪制階梯圖形,如下列程序段:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y);繪制階梯圖形命令title(stairs plot);4.3 其它圖形函數4.3 其它圖形函數其它圖形函數二、條形圖形二、條形圖形函數b
14、ar(x,y)可以繪制條形圖形,如下列程序段將繪制條形圖形x=-2.5:0.25:2.5;y=exp(-x.*x);bar(x,y);繪制條形圖命令4.3 其它圖形函數4.3 其它圖形函數其它圖形函數三、填充圖形三、填充圖形fill(x,y,c)函數用來繪制并填充二維多邊圖形,x和y為二維多邊形頂點坐標向量。字符 c 規定填充顏色,其取值前已敘述。下述程序段繪制一正方形并以黃色填充:4.3 其它圖形函數4.3 其它圖形函數其它圖形函數x=0 1 1 0 0;正方形頂點坐標向量y=0 0 1 1 0;fill(x,y,y);繪制并以黃色填充正方形圖再如:x=0:0.025:2*pi;y=sin(
15、3*x);fill(x,y,0.5 0.3 0.4);顏色向量Matlab系統可用向量表示顏色,通常稱其為顏色向量?;绢伾蛄坑胷 g b表示,即RGB顏色組合;以RGB為基本色,通過 r,g,b在01范圍內的不同取值可以組合出各種顏色。4.3 其它圖形函數二維繪圖函數小結二維繪圖函數小結plot 二維圖形基本函數fplot f(x)函數曲線繪制fill 填充二維多邊圖形polar 極坐標圖bar 條形圖loglog 雙對數坐標圖semilogx X軸為對數的坐標圖semilogy Y軸為對數的坐標圖stairs 階梯形圖axis 設置坐標軸clf 清除圖形窗口內容close 關閉圖形窗口f
16、igure 創建圖形窗口grid 放置坐標網格線gtext 用鼠標放置文本hold 保持當前圖形窗口內容subplot 創建子圖text 放置文本title 放置圖形標題xlabel 放置X軸坐標標記ylabel 放置Y軸坐標標記4.3 其它圖形函數4.4 三維圖形三維圖形一、一、plot3函數函數最基本的三維圖形函數為plot3,它是將二維函數plot的有關功能擴展到三維空間,用來繪制三維圖形。函數格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,)其中x1,y1,z1表示三維坐標向量,c1,c2表示線形或顏色。函數功能:以向量x,y,z為坐標,繪制三維曲線?!纠? 9】繪
17、制三維螺旋曲線,其程序為: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函數函數mesh函數用于繪制三維網格圖。在不需要繪制特別精細的三維曲面結構圖時,可以通過繪制三維網格圖來表示三維曲面。三維曲面的網格圖最突出的優點是:它較好地解決了實驗數據在三維空間的可視化問題。函數格式:mesh(x,y,z,c)其中x,y控制X和Y軸坐標,矩陣z是由(x,y)求得Z軸坐
18、標,(x,y,z)組成了三維空間的網格點;c用于控制網格點顏色。4.4 三維圖形【例10】下列程序繪制三維網格曲面圖x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);矩陣相乘mesh(x,y,z);三、三、surf函數函數surf用于繪制三維曲面圖,各線條之間的補面用顏色填充。surf函數和mesh函數的調用格式一致。函數格式:surf(x,y,z)其中x,y控制X和Y軸坐標,矩陣z是由x,y求得的曲面上Z軸坐標。4.4 三維圖形【例例1111】下列程序繪制三維曲面圖形x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);
19、矩陣相乘surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-label);title(3-D surf);四、視點四、視點視點位置可由方位角和仰角表示。方位角又稱旋轉角為視點位置在XY平面上的投影與X軸形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角為XY平面的上仰或下俯角,正值表示視點在XY平面上方,負值表示視點在XY平面下方。從不同視點繪制三維圖形的函數為view。view(az,el)中的az為方位角,el為仰角。通過系統提供的多峰函數peaks的繪制例子,可進一步說明視點對圖形的影響,以及view(az,el)函數的使用。4.4
20、 三維圖形【例例1212】不同視角圖形p=peaks;系統提供的多峰函數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的視點title(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
21、(peaks,p);view(-7,-10);指定子圖4的視點title(azimuth=-7,elevation=-10)4.4 三維圖形五、等高線圖五、等高線圖等高線圖可通過函數contour3繪制?!纠?313】多峰函數peaks的等高線圖x,y,z=peaks(30);contour3(x,y,z,16);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(contour3 of peaks)4.4 三維圖形4.5 圖形句柄圖形句柄一、句柄一、句柄在Matlab系統中,繪圖命令產生的每一個部分稱為圖形對象,系統在創建每一個對象時,都為
22、該對象分配唯一的一個值,稱其為句柄,因此句柄就是圖形對象標識符。對象、句柄以及圖形對象等概念其實質是統一的,系統將每一個對象按樹型層次結構組織起來,這些對象包括根對象,通常為計算機屏幕、圖形窗口、坐標系統、線條、曲面、文本串、用戶界面控制等。根對象可包含一個或多個圖形窗口對象,而一個圖形窗口對象又可包含一組或多組坐標系子對象,線條、文本等其它對象都是坐標系的子對象。所有創建對象的函數當父對象不存在時,都會自動創建它。計算機屏幕作為根對象自動建立,其句柄值為0。而Hf_f=figure命令則建立圖形窗口對象,并返回它的句柄值給變量Hf_f。圖形窗口的句柄為一整數,并顯示在該窗口的標題欄,其它圖形
23、對象的句柄為浮點數,Matlab提供了一系列與句柄操作有關的函數,如gcf、gca等。為便于識別,用大寫字母開頭的變量表示句柄,如Hf_f等。4.5 圖形句柄二、對象屬性二、對象屬性所有圖形對象都具有控制對象顯示的屬性。這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標系對象的刻度等。用戶可以獲取、設置對象屬性,以達到控制對象的目的。當創建一個對象時,系統用一組默認屬性值定制對象,用戶梢醞get命令獲取這些屬性值,同時也可通過set命令重新設置對象屬性。set命令格式為:set(H,name,value,)將圖形對象H的name屬性設置為valu
24、e其中H為句柄,name為屬性名,value為name的屬性值。4.5 圖形句柄4.5 圖形句柄圖形句柄用set命令可以方便地設置圖形對象屬性,如下列程序段就是通過屬性來定制圖形。x=0:0.1:4*pi;H=plot(x,sin(x);返回正弦曲線句柄Hset(H,LineStyle,*,LineWidth,0.1);設置正弦曲線線型與線寬其 中 L i n e S t y l e 為 線 型 屬 性,LineWidth為線寬屬性。4.5 圖形句柄4.5 圖形句柄圖形句柄利用get(H)命令可以返回當前句柄H對象的屬性。鍵入命令:get(H)系統返回當前圖形對象的有關屬性:象H=get(0,
25、CurrentFigure)則返回根對象的CurrentFigure的屬性值,即當前圖形窗口的句柄,相當于函數gcf。get(gcf,Children)則返回當前坐標系對象的句柄;類似的操作用戶可在使用Matlab的過程中不斷積累。4.5 圖形句柄4.5 圖形句柄圖形句柄三、句柄應用三、句柄應用利用句柄操作的有關函數,用戶可以查找、訪問圖形對象,以達到定制對象屬性,改變對象顯示效果的目的。x=-pi:pi/20:pi;y=sin(x);z=cos(x);plot(x,y,r,x,z,g);Hl_lines=get(gca,Children);獲取正、余曲線句柄向量Hl_linesfor k=1
26、:size(Hl_lines)if get(Hl_lines(k),Color)=0 1 0 0 1 0為綠顏色向 Hl_green=Hl_lines(k)返回綠色線條句柄 endend4.5 圖形句柄4.6 動畫設計動畫設計如果將Matlab產生的多幅圖形保存起來,并利用系統提供的函數進行播放,就可產生動畫效果。系統所提供的動畫功能函數有getframe、moviein和movie。getframe函數函數getframe函數可將當前圖形窗口作為一個畫面取下并保存,格式為:m=getframe它將每一幀畫面信息數據截取下來整理成列向量。該函數截取圖形的點陣信息,圖形窗口的大小,對數據向量的大
27、小影響較大,窗口越大,所需存儲容量越大。而圖形的復雜性對數據容量要求沒有直接的關系。4.6 動畫設計4.6 動畫設計動畫設計moviein函數函數函數m=moviein(n)用來建立一個足夠大的n列的矩陣m,用來保存n幅畫面的數據,以備播放。movie函數函數movie(m,n)以每秒n幅圖形的速度播放由矩陣m的列向量所組成的畫面。4.6 動畫設計4.6 動畫設計動畫設計【例例1414】播放一個不斷變化的眼球程序段。m=moviein(20);建立一個20個列向量組成的矩陣for j=1:20 plot(fft(eye(j+10)繪制出每一幅眼球圖并保存到m矩陣中 m(:,j)=getfram
28、e;endmovie(m,10);以每秒10幅的速度播放畫面4.6 動畫設計4.6 動畫設計動畫設計再如下述程序段播放一個直徑不斷變化的球體。n=30 x,y,z=spherem=moviein(n);for j=1:n surf(i*x,i*y,i*z)m(:,j)=getframe;endmovie(m,30);4.6 動畫設計習題四習題四1 在 0 2 范 圍 內 繪 制 二 維 曲 線 圖y=sin(x)*cos(5x)。2在0 2范圍內繪制以Y軸為對數的二維曲線圖。y=|1000sin(4x)|+13.在6 2范圍內用plot和fplot函數分別繪制二維曲線圖。4繪制z=sin(x)*cos(y)的三維網格和三維曲面圖,x,y變化范圍均為 0 2。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新DOC
最新PPT
最新RAR
- 油氣彈簧缸設計與特性分析說明書
- 動態建模與主動轉向系統轉向性能的分析外文文獻翻譯、中英文翻譯
- 羽毛球自動發球機及其控制系統的設計與實現設計說明書
- 12×2000卷板機主機設計說明書帶開題報告
- 動力轉向系統參數對汽車操縱穩定性影響的研究外文文獻翻譯、中英文翻譯
- 電液速度控制系統建模與仿真說明書
- 小型自動飼養機飼養系統外文文獻翻譯、中英文翻譯、外文翻譯
- 精密鍛造模具尺寸精度及模具應力的集成計算機輔助決策支持系統外文文獻翻譯、中英文翻譯、外文翻譯
- 手動閥體機械加工工藝規程設計說明書
- 表現在金剛石合成物和碳化物工具之間的磨耗和切割外文文獻翻譯、中英文翻譯、外文翻譯
- CA6140車床撥叉831006的加工工藝及銑16槽專用夾具設計說明書
- 液壓氣動介紹外文文獻翻譯、中英文翻譯
- 在熱軋帶鋼軋機機組上使用的前滑控制制度外文文獻翻譯、中英文翻譯、外文翻譯
- 閥控式鉛酸蓄電池的失效模式在深放電電動自行車的應用外文文獻翻譯、中英文翻譯
- 基于USB總線數據采集系統設計與實現說明書