版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗二 二維/三維數據的可視化12一、實驗目的熟悉掌握簡單的圖形繪制函數;掌握MATLAB常用的二維、三維圖形及其他圖形繪制函數的使用方法;熟悉圖形句柄的使用。二、實驗環(huán)境硬件環(huán)境:計算機一臺軟件環(huán)境:Matlab 6.0三、實驗內容作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三維圖形函數。由于系統采用面向對象的技術和豐富的矩陣運算,所以在圖形處理方面即常方便又高效。1、二維繪圖(1)plot函數函數格式:plot(x,y) 其中x和y為坐標向量函數功能:以向量x、y為軸,繪制曲線。例1 在區(qū)間0X2p內,繪制正弦曲線Y=SIN(X),其程序為:x=0:p
2、i/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);y2=cos(x);plot(x,y1,x,y2)plot函數還可以為plot(x,y1,x,y2,x,y3,)形式,其功能是以公共向量x為X軸,分別以y1,y2,y3,為Y軸,在同一幅圖內繪制出多條曲線。例3 用不同線型和顏色重新繪制Y1=SIN(X)和Y2=COS(X),其程序為:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2
3、,'b-.')其中參數'go'和'b-.'表示圖形的顏色和線型。g表示綠色,o表示圖形線型為圓圈;b表示藍色,-.表示圖形線型為點劃線。在繪制圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、坐標說明等,將這些操作稱為添加圖形標記。title(加圖形標題'); xlabel('加X軸標記'); ylabel('加Y軸標記'); text(X,Y,'添加文本'); 例4 在坐標范圍0X2,-2Y2內重新繪制正弦曲線,其程序為:x=linspace(0,2*pi,60);生成含
4、有60個數據元素的向量Xy=sin(x);plot(x,y);axis (0 2*pi -2 2);設定坐標軸范圍2、subplot函數(1)subplot(m,n,p)該命令將當前圖形窗口分成m×n個繪圖區(qū),即每行n個,共m行,區(qū)號按行優(yōu)先編號,且選定第p個區(qū)為當前活動區(qū)。例5 在一個圖形窗口中同時繪制正弦、余弦、正切、余切曲線,程序為:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps); eps為系統內部常數ct=cos(x)./(sin(x)+eps);subplot(2,2,1); 分成2×2
5、區(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);title('cotangent(x)');axis (0 2*pi -40 40);(2)多圖形窗口需要建立多個圖
6、形窗口,繪制并保持每一個窗口的圖形,可以使用figure命令。每執(zhí)行一次figure命令,就創(chuàng)建一個新的圖形窗口,該窗口自動為活動窗口,若需要還可以返回該窗口的識別號碼,稱該號碼為句柄。句柄顯示在圖形窗口的標題欄中,即圖形窗口標題。用戶可通過句柄激活或關閉某圖形窗口,而axis、xlabel、title等許多命令也只對活動窗口有效。(3)hold命令若在已存在圖形窗口中用plot命令繼續(xù)添加新的圖形內容,可使用圖形保持命令hold。發(fā)出命令hold on后,再執(zhí)行plot命令,在保持原有圖形或曲線的基礎上,添加新繪制的圖形。閱讀如下程序:x=linspace(0,2*pi,60);y=sin(
7、x);z=cos(x);plot(x,y,'b'); 繪制正弦曲線hold on; 設置圖形保持狀態(tài)plot(x,z,'g'); 保持正弦曲線同時繪制余弦曲線axis (0 2*pi -1 1); legend('cos','sin');hold off 關閉圖形保持3、 函數f(x)曲線fplot函數則可自適應地對函數進行采樣,能更好地反應函數的變化規(guī)律。fplot函數格式:fplot(fname,lims,tol)其中fname為函數名,以字符串形式出現,lims為變量取值范圍,tol為相對允許誤差,其其系統默認值為2e-3。
8、例:fplot(sin(x),0 2*pi,-+) fplot(sin(x),cos(x),0 2*pi,1e-3,·) 同時繪制正弦、余弦曲線4、特殊坐標圖形1)對數坐標圖形(1)loglog(x,y) 雙對數坐標例6 繪制y=|1000sin(4x)|+1的雙對數坐標圖。程序為:x=0:0.1:2*pi;y=abs(1000*sin(4*x)+1;loglog(x,y); 雙對數坐標繪圖命令(2)單對數坐標以X軸為對數重新繪制上述曲線,程序為:x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogx(x,y); 單對數X軸繪圖命令同樣,可以以Y軸為對數
9、重新繪制上述曲線,程序為:x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogy(x,y); 單對數Y軸繪圖命令(3)極坐標圖函數polar(theta,rho)用來繪制極坐標圖,theta為極坐標角度,rho為極坐標半徑例7 繪制sin(2*)*cos(2*)的極坐標圖,程序為:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho); 繪制極坐標圖命令title('polar plot');5、其它圖形函數除plot等基本繪圖命令外,Matlab系統提供了許多其它特殊繪圖
10、函數,這里舉一些代表性例子,更詳細的信息用戶可隨時查閱在線幫助,其對應的M-file文件存放在系統matlabtoolboxmatlab目錄下。(1)、階梯圖形函數stairs(x,y)可以繪制階梯圖形,如下列程序段:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y); 繪制階梯圖形命令title('stairs plot');(2)、條形圖形函數bar(x,y)可以繪制條形圖形,如下列程序段將繪制條形圖形x=-2.5:0.25:2.5;y=exp(-x.*x);bar(x,y); 繪制條形圖命令(3)、填充圖形fill(x,y,c)函數用來繪制并
11、填充二維多邊圖形,x和y為二維多邊形頂點坐標向量。字符 c 規(guī)定填充顏色,其取值前已敘述。下述程序段繪制一正方形并以黃色填充:x=0 1 1 0 0; 正方形頂點坐標向量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系統可用向量表示顏色,通常稱其為顏色向量?;绢伾蛄坑胷 g b表示,即RGB顏色組合;以RGB為基本色,通過 r,g,b在01范圍內的不同取值可以組合出各種顏色。6、三維繪圖1、 plot3函數最基本的三維圖形
12、函數為plot3,它是將二維函數plot的有關功能擴展到三維空間,用來繪制三維圖形。函數格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中x1,y1,z1表示三維坐標向量,c1,c2表示線形或顏色。函數功能:以向量x,y,z為坐標,繪制三維曲線。例8 繪制三維螺旋曲線,其程序為: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)
13、39;),zlabel('t');grid;2、mesh函數mesh函數用于繪制三維網格圖。在不需要繪制特別精細的三維曲面結構圖時,可以通過繪制三維網格圖來表示三維曲面。三維曲面的網格圖最突出的優(yōu)點是:它較好地解決了實驗數據在三維空間的可視化問題。函數格式:mesh(x,y,z,c)其中x,y控制X和Y軸坐標,矩陣z是由(x,y)求得Z軸坐標,(x,y,z)組成了三維空間的網格點;c用于控制網格點顏色。例9 下列程序繪制三維網格曲面圖x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y')*cos(x); 矩陣相乘mesh(x,y,z);3、surf函
14、數surf用于繪制三維曲面圖,各線條之間的補面用顏色填充。surf函數和mesh函數的調用格式一致。函數格式: surf (x,y,z)其中x,y控制X和Y軸坐標,矩陣z是由x,y求得的曲面上Z軸坐標。例10 下列程序繪制三維曲面圖形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');4、視點視點位置可由方位角和仰
15、角表示。方位角又稱旋轉角為視點位置在XY平面上的投影與X軸形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角為XY平面的上仰或下俯角,正值表示視點在XY平面上方,負值表示視點在XY平面下方。從不同視點繪制三維圖形的函數為view。 view(az,el)中的az為方位角,el為仰角。通過系統提供的多峰函數peaks的繪制例子,可進一步說明視點對圖形的影響,以及view(az,el)函數的使用。例11 不同視角圖形p=peaks; 系統提供的多峰函數subplot(2,2,1);mesh(peaks,p);view(-37.5,30); 指定子圖1的視點title('azimuth
16、=-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(peaks,p);view(-7,-10);指定子圖4的視點title('azimuth=-7,elevation=-10')7、
17、圖形句柄在Matlab系統中,繪圖命令產生的每一個部分稱為圖形對象,系統在創(chuàng)建每一個對象時,都為該對象分配唯一的一個值,稱其為句柄,因此句柄就是圖形對象標識符。對象、句柄以及圖形對象等概念其實質是統一的,系統將每一個對象按樹型層次結構組織起來,這些對象包括根對象,通常為計算機屏幕、圖形窗口、坐標系統、線條、曲面、文本串、用戶界面控制等。根對象可包含一個或多個圖形窗口對象,而一個圖形窗口對象又可包含一組或多組坐標系子對象,線條、文本等其它對象都是坐標系的子對象。所有創(chuàng)建對象的函數當父對象不存在時,都會自動創(chuàng)建它。計算機屏幕作為根對象自動建立,其句柄值為0。而Hf_f=figure命令則建立圖形窗
18、口對象,并返回它的句柄值給變量Hf_f。圖形窗口的句柄為一整數,并顯示在該窗口的標題欄,其它圖形對象的句柄為浮點數,Matlab提供了一系列與句柄操作有關的函數,如gcf 、gca等。為便于識別,用大寫字母開頭的變量表示句柄,如Hf_f等。所有圖形對象都具有控制對象顯示的屬性。這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標系對象的刻度等。用戶可以獲取、設置對象屬性,以達到控制對象的目的。當創(chuàng)建一個對象時,系統用一組默認屬性值定制對象,用戶梢醞üget命令獲取這些屬性值,同時也可通過set命令重新設置對象屬性。set命令格式為:set
19、(H,name,value,) 將圖形對象H的name屬性設置為value其中H為句柄,name為屬性名,value為name的屬性值。用set命令可以方便地設置圖形對象屬性,如下列程序段就是通過屬性來定制圖形。x=0:0.1:4*pi;H=plot(x,sin(x); 返回正弦曲線句柄Hset(H,'LineStyle','*','LineWidth',0.1); 設置正弦曲線線型與線寬其中'LineStyle'為線型屬性,'LineWidth'為線寬屬性。利用get(H)命令可以返回當前句柄H對象的屬性。鍵入命
20、令:get(H) 系統返回當前圖形對象的有關屬性:象H=get(0,CurrentFigure)則返回根對象的CurrentFigure的屬性值,即當前圖形窗口的句柄,相當于函數gcf。get(gcf,Children)則返回當前坐標系對象的句柄;類似的操作用戶可在使用Matlab的過程中不斷積累。句柄應用利用句柄操作的有關函數,用戶可以查找、訪問圖形對象,以達到定制對象屬性,改變對象顯示效果的目的。x=-pi:pi/20:pi;y=sin(x);z=cos(x);plot(x,y,'r',x,z,'g');Hl_lines=get(gca,'Child
21、ren'); 獲取正、余曲線句柄向量Hl_linesfor k=1:size(Hl_lines) if get(Hl_lines(k),Color)=0 1 0 0 1 0為綠顏色向量 Hl_green=Hl_lines(k) 返回綠色線條句柄 endend四、實驗習題1在0 2范圍內繪制二維曲線圖y=sin(x)*cos(5x)。解>> x=0:pi/100:2*pi; >> y=sin(x).*cos(5*x); >> plot(y) >> 2在0 2范圍內繪制以Y軸為對數的二維曲線圖。 y=|1000sin(4x)|+1解>&
22、gt; x=0:pi/100:2*pi; >> y=abs(1000*sin(4*x)+1; >> semilogy(x,y); >> 3. 在6 2范圍內用plot和fplot函數分別繪制二維曲線圖。函數為y=3*x2+2*x>> syms x y;x=-6:0.01:2;y=3.*x.2+2.*x;plot(y)>> >> syms x y;x=-6:0.01:2;y=3.*x.2+2.*x; fplot('3.*x.2+2.*x',-6 2) 4繪制z=sin(x)*cos(y)的三維網格和三維曲面圖,x,y變化范圍均為 0 2。>> syms x y;>> x=0:pi/10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年公務員考試上海市金山區(qū)《行政職業(yè)能力測驗》考前沖刺預測試卷含解析
- 2024陶瓷廠勞務外派合同范本實施細則3篇
- 2024高效節(jié)能環(huán)保技術研發(fā)與推廣合同
- 2024苗木調運精細化管理協議典范版B版
- 2024物業(yè)管理合同物業(yè)范圍及服務內容
- 2025年度安置房建設項目投資合同3篇
- 2024詳盡聚焦高端房地產項目團購合同3篇
- 2024石料環(huán)保開采與運輸服務合同3篇
- 2024虛擬現實游戲設計與開發(fā)合同
- 星巴克咖啡連鎖租賃協議
- 世界各國電源標準插頭插座一覽表
- GF-2000-0203 建設工程勘察合同
- 鋼箱梁計算分析與案例詳解
- 苯酚及酚類37張課件
- 2021年上海期貨交易所校園招聘筆試試題及答案解析
- 醫(yī)聯體綜合績效考核指標體系(醫(yī)聯體醫(yī)院)
- DB12T 693-2016 天津市文書類電子文件數據存儲結構規(guī)范
- 中國石油天然氣集團公司建設項目其他費用和相關費用的規(guī)定
- 礦業(yè)煤礦企業(yè)NOSA安健環(huán)風險管理體系推行工作指南(2022版)
- 新項目開發(fā)商業(yè)計劃書模板ppt
- 2021年中國華電集團公司組織架構和部門職能
評論
0/150
提交評論