教程們作圖第六章m繪圖_第1頁(yè)
教程們作圖第六章m繪圖_第2頁(yè)
教程們作圖第六章m繪圖_第3頁(yè)
教程們作圖第六章m繪圖_第4頁(yè)
教程們作圖第六章m繪圖_第5頁(yè)
已閱讀5頁(yè),還剩98頁(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、第六章繪圖1繪圖語(yǔ)言豐富的圖形表現(xiàn)方法,使得數(shù)學(xué)計(jì)算結(jié)果可以方便地、多樣性地實(shí)現(xiàn)了可視化,這是其它語(yǔ)言所不能比擬的。繪圖函數(shù)» 不需過(guò)多考慮繪圖細(xì)節(jié),只需給出一些基本參數(shù)» 簡(jiǎn)單明了、方便高效低層繪圖操作» 將圖形的每個(gè)元素(坐標(biāo)軸、曲線、曲面或文字) 分配一個(gè)句柄,通過(guò)該句柄對(duì)該圖形元素進(jìn)行操作»和表現(xiàn)圖形的能力更強(qiáng)2主要內(nèi)容二維圖形三維圖形三維圖形的精細(xì)處理隱函數(shù)繪圖低層繪圖操作光照和材質(zhì)處理圖像顯示與動(dòng)畫制作3二維圖形二維圖形 將平面坐標(biāo)上的數(shù)據(jù)點(diǎn)連接起來(lái)的平面圖形坐標(biāo)系 直角坐標(biāo) 對(duì)數(shù)坐標(biāo) 極坐標(biāo)數(shù)據(jù)點(diǎn) 向量 矩陣4二維圖形(續(xù))繪制二維曲線的基

2、本函數(shù) plot 功能:»自動(dòng)打開(kāi)一個(gè)圖形窗口Figure»如果已經(jīng)存在一個(gè)圖形窗口,plot命令則清除當(dāng)前圖形,繪制新圖形»根據(jù)圖形坐標(biāo)大小自動(dòng)縮擴(kuò)坐標(biāo)軸,將數(shù)據(jù)標(biāo)尺及標(biāo)注自動(dòng)加到兩個(gè)坐標(biāo)軸上,可自定義坐標(biāo)軸,可把x, 表示y 軸用對(duì)數(shù)坐標(biāo)»可單窗口單曲線繪圖;可單窗口多曲線繪圖;可單窗口多曲線分圖繪圖;可多窗口繪圖»可任意設(shè)定曲線顏色、線型和標(biāo)記符號(hào)5»可給圖形加坐標(biāo)網(wǎng)線和圖形加注功能二維圖形(續(xù))plot的調(diào)用格式plot(x)缺省自變量繪圖格式,x為向量,以x元素值為縱坐標(biāo),以相應(yīng)元素下標(biāo)為橫坐標(biāo)繪圖plot(x,y)基本格式

3、,以y(x)的函數(shù)關(guān)系作出直角坐標(biāo)圖,如果y為n×m的矩陣,則以x作出m條曲線為自變量,plot(x1,y1,x2,y2,xn,yn)式多條曲線繪圖格plot(x1,y1,選項(xiàng)1,x2,y2,n)含選項(xiàng)的繪圖格式選項(xiàng)2,xn,yn,選項(xiàng)6二維圖形(續(xù))plot(x) x為實(shí)向量» x=0 0.6 2.3 5» plot(x)8.311.71517.719.420; x為復(fù)數(shù)向量»»»t=0:0.01:2*pi;x=exp(i*t); plot(x) x為實(shí)矩陣» x=1,2,3;4,5,6;» plot(x) x為

4、復(fù)數(shù)矩陣»»»»t=0:0.01:2*pix=exp(i*t) y=x;2*x;3*x plot(y)7二維圖形(續(xù))plot(x,y)x和y為長(zhǎng)度相同的向量,分別用于» x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)x坐標(biāo)和y坐標(biāo)數(shù)據(jù)。 當(dāng)x是向量,y是有一維與x同維的矩陣時(shí),則繪制出多根不同顏色的曲線。曲線條數(shù)等于y矩陣的另一維數(shù),x被作為這些曲線共同的橫坐標(biāo)。»»»x=linspace(0,2*pi,100);y=sin(x);cos(x); p

5、lot(x,y) 當(dāng)x,y是同維矩陣時(shí),則以x,y對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線, 曲線條數(shù)等于矩陣的列數(shù)。»»»»t=linspace(0,2*pi,100);x=t;t; y=sin(t);cos(t)' plot(x,y)8二維圖形(續(xù))plot(x1,y1,x2,y2,xn,yn) 當(dāng)輸入?yún)?shù)都為向量時(shí),x1和y1,x2和y2,xn和yn分別組成一組向 量對(duì),每一組向量對(duì)的長(zhǎng)度可以不同。每一向量對(duì)可以繪制出一條曲線,這樣可以在同一坐標(biāo)內(nèi)繪制出多條曲線。» t=0:pi/100:2*pi; y=sin(t);y1=sin(t+

6、0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) 當(dāng)輸入?yún)?shù)有矩陣形式時(shí),配對(duì)的x,y按對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪 制曲線,曲線條數(shù)等于矩陣的列數(shù)。»x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=x1;x2;x3'y=y1;y2;y3'plot(x,y,x1,y1-1)9二維圖形(續(xù))plot(x1,y1,選項(xiàng)1,x2,y2, 選項(xiàng)2,xn,yn,選

7、項(xiàng)n)提供了一些繪圖選項(xiàng),用于確定所繪曲線的線型、顏色和數(shù)據(jù)點(diǎn)標(biāo)記符號(hào),它們可以組合使用。例如, plot(x1,y1,b-.,x2,y2,y:d,),其中,“b-.”表示點(diǎn)劃線,“y:d”表示黃色虛線并用菱形符標(biāo)記數(shù)據(jù)點(diǎn)。當(dāng)選項(xiàng)省略時(shí),規(guī)定,線型一律用實(shí)線,顏色將根據(jù)曲線的先后順序依次采用下表給出的前7種顏色。t=0:0.2:2*pi;x=sin(t);y=cos(t);plot(t,x,'+r',t,y,'-b')10二維圖形(續(xù))雙縱坐標(biāo)函數(shù)plotyy將函數(shù)值具有不同量綱、不同數(shù)量級(jí)的兩個(gè)函數(shù)繪制在同一坐標(biāo)中,有 利于圖形數(shù)據(jù)的對(duì)比分析。調(diào)用格式為:pl

8、otyy(x1,y1,x2,y2)» 其中x1-y1對(duì)應(yīng)一條曲線,x2-y2對(duì)應(yīng)另一條曲線。橫坐標(biāo)的標(biāo)度相同,縱坐標(biāo)有兩個(gè),左縱坐標(biāo)用于x1-y1數(shù)據(jù)對(duì),右縱坐標(biāo)用于x2-y2數(shù)據(jù)對(duì)。用不同標(biāo)度在同一坐標(biāo)內(nèi)繪制曲線y1=e-0.5xsin(2x)及曲線例y2=1.5e-0.1xsin(x)。x1=0:pi/100:2*pi; x2=0:pi/100:3*pi;y1=exp(-0.5*x1).*sin(2*pi*x1);y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);11繪制圖形的輔助操作繪制圖形的輔助操作 為使圖形意義更加明確,可讀

9、性更強(qiáng)包括 圖形標(biāo)注:圖形名稱、坐標(biāo)軸說(shuō)明、圖形某一部分的含義 坐標(biāo)圖形標(biāo)注:設(shè)定坐標(biāo)系范圍 有關(guān)圖形標(biāo)注函數(shù)的調(diào)用格式為:title(圖形名稱) xlabel(x軸說(shuō)明) ylabel(y軸說(shuō)明) text(x,y,圖形說(shuō)明) legend(圖例1,圖例2,)12圖形標(biāo)注(續(xù))例t=0:0.1:10; y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b-'); x=1.7*pi;1.6*pi; y=-0.3;0.8; s='sin(t)''cos(t)' text(x,y,s); title(&#

10、39;正弦和余弦曲線'); legend('正弦','余弦'); xlabel('時(shí)間t'); ylabel('正弦、余弦');13坐標(biāo)無(wú)坐標(biāo) x=0:.01:pi/2; figure(1) plot(x,tan(x),-ro)%ymax=tan(1.57),而其他數(shù)據(jù)都很小,結(jié)果將使圖形難于進(jìn)行觀察和。坐標(biāo)坐標(biāo)軸的范圍調(diào)用格式為:axis(xmin xmax ymin ymax zmin zmax) figure(2) plot(x,tan(x),'-ro') axis(0, pi/2,0,5)意的繪圖結(jié)

11、果%對(duì)坐標(biāo)軸的范圍進(jìn)行就可得到較滿14坐標(biāo)(續(xù))axis函數(shù)功能豐富,常用的用法還有:axis equalaxis square axis auto坐標(biāo)軸采用等長(zhǎng)刻度產(chǎn)生正方形坐標(biāo)系(缺省為矩形) 使用缺省設(shè)置axis off axis on其他坐標(biāo)取消坐標(biāo)軸顯示坐標(biāo)軸函數(shù)grid on/off命令是畫還是不畫網(wǎng)格線,不帶參數(shù)的grid命令在兩種狀態(tài)之間進(jìn)行切換。box on/off命令是加還是不加邊框線,不帶參數(shù)的box命令在兩種狀態(tài)之間進(jìn)行切換。15圖形保持圖形保持一般情況下,繪圖命令每執(zhí)行一次就刷新當(dāng)前圖形窗口,圖形窗口原有 圖形將不復(fù)存在。若希望在已存在的圖形上再繼續(xù)添加新的圖形,可使

12、 用圖形保持命令hold。hold on/off命令是保持原有圖形還是刷新原有圖形,不帶參數(shù)的hold命令在兩種狀態(tài)之間進(jìn)行切換。例 a=20 25 30;b=0.3 0.5 4;c=0.4 0.5 0.6;plot(a,b,'-sr') hold ona=20 25 30;c=0.4 3 7;plot(a,c,'-*b') hold off16小結(jié)三種方法在一個(gè)坐標(biāo)系下同時(shí)顯示兩個(gè)圖 方法一:用hold on和hold off,畫好第一幅圖后,用hold on 語(yǔ)句就可以接著在該坐標(biāo)系下畫出其他的曲線圖形,畫完后再用hold off結(jié)束 方法二:plot(x,

13、y):x為行向量,y為2*1矩陣 方法三:plot(x1,y1,x2,y2),直接將兩條曲線寫入plot函數(shù) 的參數(shù)里17圖形窗口的分割功能:在一個(gè)圖形窗口中繪制多個(gè)子圖形 將一個(gè)繪圖窗口分割成 m*n 個(gè)子區(qū)域,并 按行 從左至右 ,由上至下 依次編號(hào) 。p 表示第 p 個(gè)繪圖子區(qū)域。例:在一個(gè)圖形窗口中以子圖形式同時(shí)繪制正弦、余弦、正切、余切曲線>>x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1);plot(x,y);ti

14、tle('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)18subplot(m,n,p)特殊的二維圖形u 特殊坐標(biāo)圖形polar 繪

15、制極坐標(biāo)圖semilogx, semilogy,loglogu 特殊二維圖形 Bar 繪制條形圖stairs 繪制階梯圖stem 繪制桿圖rose 繪制統(tǒng)計(jì)扇形圖comet 繪制彗星曲線pie 餅圖hist 柱狀圖fill 填充圖errorbar 繪制誤差棒圖compass 復(fù)數(shù)向量圖(羅盤圖)繪制對(duì)數(shù)坐標(biāo)圖feather 復(fù)數(shù)向量投影圖(羽毛圖)quiver 向量場(chǎng)圖area 區(qū)域圖convhull 凸殼圖scatter 離散點(diǎn)圖19對(duì)數(shù)坐標(biāo)繪圖有時(shí)變量變化范圍非常大,如x軸從0.01到100,這時(shí)如果仍采用plot繪圖,就會(huì)失去局部可視性。因此應(yīng)用對(duì)數(shù)坐標(biāo)系來(lái)繪圖。在對(duì)數(shù)坐標(biāo)中 可清晰地看

16、到局部。x軸對(duì)數(shù) semilogx:x軸是log10,y是線性的 ,等價(jià)于plot(log10(x),y)y軸對(duì)數(shù)semilogy:y軸是log10,x是線性的,等價(jià)于plot(x,log10(y) 雙對(duì)數(shù)loglog;用log10-log10標(biāo)度繪圖 例:繪制y=10x2的線性坐標(biāo)圖和三種對(duì)數(shù)坐標(biāo)圖。x=0:0.1:10;y=10*x.*x; subplot(2,2,1);plot(x,y);title('plot(x,y)');grid on;subplot(2,2,2);semilogx(x,y);title('semilogx(x,y)'); grid

17、on; subplot(2,2,3);semilogy(x,y);title('semilogy(x,y)');grid on;subplot(2,2,4);loglog(x,y);title('loglog(x,y)');grid on;20極坐標(biāo)繪圖極坐標(biāo)繪圖 polar(theta,rho, 選項(xiàng))»theta角度(弧度表示)»»rho極半徑選項(xiàng):與plot函數(shù)相似2qcosq 的極2坐標(biāo)圖形。例:建立srin =´ thinspace(0,2*pi); rho=sin(2*theta).*cos(2*theta);

18、 polar(theta,rho, 'g') title('Polar plot of sin(2*theta).*cos(2*theta)')21特殊二維圖形示例分別以條形圖、填充圖、階梯圖和桿圖形式繪制曲線y=2e-0.5x。x=0:0.35:7;y=2*exp(-0.5*x); subplot(2,2,1);bar(x,y,'g'); title('bar(x,y,''g'')');axis(0,7,0,2); subplot(2,2,2);fill(x,y,'r'); tit

19、le('fill(x,y,''r'')');axis(0,7,0,2); subplot(2,2,3);stairs(x,y,'b'); title('stairs(x,y,''b'')');axis(0,7,0,2); subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis(0,7,0,2);例1例2某次優(yōu)秀、良好、中等、及格、不及格的人數(shù)分別為:7,17,

20、23,19,5,試用餅圖作成績(jī)統(tǒng)計(jì)分析pie(7,17,23,19,5);title('餅圖');legend('優(yōu)秀','良好','中等','及格','不及格');22函數(shù)繪圖 函數(shù)繪圖函數(shù)fplot函數(shù)的調(diào)用格式為:fplot(fname,lims,tol,選項(xiàng))»fname就是所要繪制的函數(shù),可以是定義函數(shù)的M文件名,也可以是以x為變量的可計(jì)算字 符串lims=XMIN XMAX YMIN YMAX限定了x,y 軸上的繪圖空間。»»»tol為相對(duì)誤差其默

21、認(rèn)值為2e-3選項(xiàng)定義與plot函數(shù)相同 特點(diǎn):對(duì)函數(shù)自適應(yīng)采樣常用的繪制函數(shù)f(x)的曲線方法»»»對(duì)采樣點(diǎn)向量x 計(jì)算出f(x)的值向量y 再用plot(x,y)函數(shù)繪制。plot 函數(shù)一般采用等間隔采樣,對(duì)繪制高頻率變化的函數(shù)不夠精確例如函數(shù)f ( x )=cos(tan(x ),x ( 0,1) 范圍是有無(wú)限個(gè)震蕩周期,函數(shù)變化率大fplot 函數(shù)» 為提高精度繪制出比較真實(shí)的函數(shù)曲線就不能采用等步長(zhǎng)采樣,而必須在變化率大的區(qū)域密集采用,以充分反映函數(shù)的實(shí)際變化規(guī)律,提高圖形的真實(shí)度» fplot 函數(shù)可自適應(yīng)的對(duì)函數(shù)進(jìn)行采樣,能更好反

22、映函數(shù)的變化規(guī)律23函數(shù)繪圖(續(xù))比較:plot與fplot subplot(2,1,1); x=0:0.1:2*pi; y=sin(x); plot(x,y) subplot(2,1,2); fplot('sin(x)',02*pi,'-+')例 用fplot函數(shù)繪制f(x)=cos(tan(x)的曲線。先建立函數(shù)文件myf.m:function y=myf(x) y=cos(tan(pi*x);再用fplot函數(shù)繪制myf.m函數(shù)的曲線:fplot('myf',-0.4,1.4,1e-4)注意:函數(shù)名加上引號(hào)24主要內(nèi)容二維圖形三維圖形三維圖

23、形的精細(xì)處理隱函數(shù)繪圖低層繪圖操作光照和材質(zhì)處理圖像顯示與動(dòng)畫制作25三維圖形三維曲線 plot3最基本的三維圖形函數(shù)三維曲面 mesh 三維網(wǎng)格繪圖函數(shù) surf 三維表面著色繪圖函數(shù)26三維曲線u 三維曲線 : plot3例:三維螺旋線plot3的用法與plot 類似27>> t=0:0.1:10*pi;>> x=2*t;>> y=sin(t);>> z=cos(t);>> plot3(x,y,z);x,y,z是長(zhǎng)度相同的向量一條曲線x,y,z是維數(shù)相同的矩陣多條曲線plot3(x1,y1,z1,選項(xiàng)1, x2,y2,z2,選項(xiàng)2

24、', )回顧二維作圖機(jī)制q 點(diǎn) ® 線例:y = sin(x),0 < x < 2p一、畫點(diǎn)28>> x=0:0.5:2*pi;>> y=sin(x);>> plot(x,y,'.')先畫點(diǎn),后連線回顧二維作圖機(jī)制(續(xù))q 點(diǎn) ® 線例:y = sin(x),0 < x < 2p二、連線29>> x=0:0.5:2*pi;>> y=sin(x);>> plot(x,y,'r.-')先畫點(diǎn),后連線二維作圖舉例加密:取的點(diǎn)30>>

25、x=0:0.1:2*pi;>> y=sin(x);>> plot(x,y,)'.-')>> x=0:0.1:2*pi;>> y=sin(x);>> plot(x,y,'.')三維曲線繪圖機(jī)制q 例:三維螺線x=t, y=sin(t), z=cos(t),0 < t < 20311) 給出空間離散點(diǎn)的坐標(biāo) (x,y,z)2) 將這些點(diǎn)按順序連接即可先畫點(diǎn),后連線空間曲線作圖舉例32>> t=0:0.5:20;>> x=t;>> y=sin(t);>&g

26、t; z=cos(t);>> plot3(x,y,z,.-)>> t=0:0.5:20;>> x=t;>> y=sin(t);>> z=cos(t);>> plot3(x,y,z,.)空間曲線作圖舉例33>> t=0:0.1:20;>> x=t;>> y=sin(t);>> z=cos(t);>> plot3(x,y,z)>> t=0:0.1:20;>> x=t;>> y=sin(t);>> z=cos(t);>

27、;> plot3(x,y,z,.-)三維曲面q 三維網(wǎng)格曲面mesh(X,Y,Z,C)繪制由矩陣 X,Y,Z 所確定的曲面網(wǎng)格圖矩陣 C 用于確定網(wǎng)格顏色,省略時(shí) C=Z(顏色的設(shè)定正比于圖形的高度)mesh(x,y,Z)x, y 是向量時(shí),length(x)=n,length(y)=m,m,n=size(Z)34meshz調(diào)用方式與 mesh 相同,在 mesh 基礎(chǔ)上增加底座meshc調(diào)用方式與 mesh 相同,在 mesh 基礎(chǔ)上增加等高線mesh, meshc, meshz三維曲面(續(xù))u 繪制由函數(shù) z=z(x,y) 確定的曲面時(shí),首先需產(chǎn)生一個(gè)網(wǎng)格矩陣,然后計(jì)算函數(shù)在各網(wǎng)格點(diǎn)

28、上的值。u 網(wǎng)格生成函數(shù):meshgridx, y 為給定的向量,X, Y 是網(wǎng)格劃分后得到的網(wǎng)格矩陣若 x = y, 則可簡(jiǎn)寫為 X,Y= meshgrid(x)例:>> x=-8:0.5:8; y=-8:0.5:8;>> X,Y=meshgrid(x,y);>> r=sqrt(X.2+Y.2)+eps;>> Z=sin(r)./r;>> mesh(X,Y,Z)35X,Y= meshgrid(x,y)三維曲面作圖機(jī)制x1nö÷÷÷æ y11ç yy1222#KK%Ky1n2

29、n#ö÷÷÷xyyY = çX =2n21#çç#%#ç y÷÷xyymn øèm1mn øm 2æ z11ç zz12KK%Kz1nö÷÷÷zzZ = ç21222nç#ç z÷zzè m1mn ø36m 2線: 分別沿 x 方向和 y 方向連接這些點(diǎn)即可得到點(diǎn):( x ij, yij , izij 1) =,K, m ,j=K1,n,先畫點(diǎn) (

30、x,y,z),后連線,曲面網(wǎng)格圖三維網(wǎng)格曲面作圖舉例q 例:“墨西哥帽子”由函z 數(shù) s=in(r中, =rx+22確y定的曲面r)其/( a < x < a,-a < y <a )通過(guò)將鄰接的點(diǎn)用直線連接起來(lái)形成網(wǎng)狀曲面,其結(jié)果好象在數(shù)據(jù)點(diǎn)有結(jié)點(diǎn)的魚網(wǎng)37三維網(wǎng)格曲面作圖舉例(續(xù))eps?x 與 y 可以取不同的步長(zhǎng)最后一個(gè)命令能否改為 mesh(Z)?38>> x=-8:0.5:8;>> y=-8:0.5:8;>> X,Y=meshgrid(x,y);>> r=sqrt(X.2+Y.2)+eps;>> Z=

31、sin(r)./r;>> mesh(X,Y,Z)X,Y=meshgrid(-8:0.5:8);a=8 時(shí)的曲面圖形三維網(wǎng)格曲面作圖舉例(續(xù))例:繪制等高線meshc>>>>>>>>X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r;meshc(X,Y,Z)39三維網(wǎng)格曲面作圖舉例(續(xù))例:繪制底座曲面meshz>>>>>>>>X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(

32、r)./r;meshz(X,Y,Z)40三維表面著色曲面q 三維表面著色圖surf(X,Y,Z,C)繪制由矩陣所確定的著色的三維表面X,Y,Z圖,參數(shù)含義同mesh41surfl調(diào)用方式與 surf 相同,在 surf 基礎(chǔ)上增加光照效果surfc調(diào)用方式與 surf 相同,在 surf 基礎(chǔ)上增加等高線surf, surfc, surfl三維表面著色曲面作圖舉例(續(xù))>>>>>>>>X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r;surf(X,Y,Z)42三維表面著色曲面作圖舉例

33、(續(xù))例:繪制等高線surfc>>>>>>>>X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r;surfc(X,Y,Z)43三維表面著色曲面作圖舉例(續(xù))例:繪制具有光照效果的曲面surfl>>>>>>>>X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r;surfl(X,Y,Z)44mesh與surf的比較網(wǎng)格圖(mesh):線條有顏色,線條間補(bǔ)面無(wú)色曲面圖(surf):線條是

34、黑色的,線條間補(bǔ)面有顏色45標(biāo)準(zhǔn)三維曲面q 標(biāo)準(zhǔn)三維曲面sphere(n)于繪制球面于繪制三維柱面cylinder(R,n)r 為半徑;n為柱面圓周等分?jǐn)?shù)peaks(n)生成的繪圖數(shù)據(jù)矩陣作為參數(shù)可繪制多峰函數(shù)曲面圖46sphere 只能畫球面!sphere作圖如果沒(méi)有給出 n 的值, 則系統(tǒng)默認(rèn)為 n=2047peaks作圖如果沒(méi)有給出 n 的值, 則系統(tǒng)默認(rèn)為 n=4948x,y,z=peaks; m eshz(x,y,z)x,y,z=peaks(30); m e shz(x,y,z)其他三維圖形三維條形圖: bar3三維餅圖:pie3三維填充圖:fill3三維桿圖:stem3三維瀑布圖:

35、waterfall三維等高線圖: contour349其他三維圖形(續(xù))繪制三維圖形:例(1) 繪制魔方陣的三維條形圖。(2) 以三維桿圖形式繪制曲線y=2sin(x)。(3)已知x=2347,1827,2043,3025,繪制三維餅圖。(4)用隨機(jī)的頂點(diǎn)坐標(biāo)值畫出五個(gè)黃色三角形。subplot(2,2,1); bar3(magic(4) subplot(2,2,2); y=2*sin(0:pi/10:2*pi); stem3(y); subplot(2,2,3);pie3(2347,1827,2043,3025);subplot(2,2,4); fill3(rand(3,5),rand(3,

36、5),rand(3,5), 'y' )50其他三維圖形(續(xù))繪制多峰函數(shù)的瀑布圖和例等高線圖。subplot(1,2,1);X,Y,Z=peaks(30);waterfall(X,Y,Z) xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); subplot(1,2,2);contour3(X,Y,Z,12,'k'); 12代表高度的等級(jí)數(shù)xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-

37、axis');%其中51總結(jié)空間曲線 plot3基本的三維圖形指令 由二維繪圖函數(shù)plot擴(kuò)展,與plot函數(shù)用法相似plot3(x1,y1,z1,選項(xiàng)1, x2,y2,z2,選項(xiàng)2',)» 一條曲線:plot3(x,y,z) x,y,z是長(zhǎng)度相同的向量» 多條曲線:plot3(X,Y,Z) X,Y,Z是維數(shù)相同的矩陣空間曲面 三維網(wǎng)格繪圖函數(shù)mesh(x,y,z,c) 三維曲面繪圖函數(shù)surf(x,y,z,c) 其他曲面» Sphere,cylinder,peaks,bar3,stem3,pie3,fill3,waterfall,contour3

38、52主要內(nèi)容二維圖形三維圖形三維圖形的精細(xì)處理隱函數(shù)繪圖低層繪圖操作光照和材質(zhì)處理圖像顯示與動(dòng)畫制作53三維圖形的精細(xì)處理視點(diǎn)處理 從不同的視點(diǎn)繪制的三維圖形其形狀也是不同的色彩處理圖形的裁剪處理54視點(diǎn)處理提供了設(shè)置視點(diǎn)的函數(shù)view。其調(diào)用格式為:view(az,el)其中az為方位角,el為仰角,它們均以度為。方位角:與x=0平面的夾角叫做方位角仰角:與z=0平面所成的方向角叫仰角缺省的三維視角方向仰角為30度,方位角為-37.5度。缺省的二維視角仰角為90度,方位角為0度。55視點(diǎn)處理(續(xù))觀察不同視角的多峰圖形例subplot(2,2,1);mesh(peaks);view(-37.

39、5,30);%指定子圖1的視點(diǎn)title('azimuth=-37.5,elevation=30')subplot(2,2,2);mesh(peaks);view(0,90);%指定子圖2的視點(diǎn)title('azimuth=0,elevation=90')subplot(2,2,3);mesh(peaks);view(90,0);%指定子圖3的視點(diǎn)title('azimuth=90,elevation=0')subplot(2,2,4);mesh(peaks);view(-7,-10);%指定子圖4的視點(diǎn)title('azimuth=-7

40、,elevation=-10')56色彩處理顏色的向量表示色圖除用字符表示顏色外,還可以用含有3個(gè)元素的向量表示顏色3個(gè)元素分別表示紅、綠、藍(lán)3種顏色的相對(duì)亮度,稱為RGB三元組如RGB值為0 0 1表示,字符表示為b色圖是m×3 的數(shù)值矩陣,它的每一行是RGB三元組。色圖矩陣可以人為地生成,也可以調(diào)用提供的函數(shù)來(lái)定義色圖矩陣。 比如hot(m)產(chǎn)生一個(gè)m×3 的矩陣,它包含的RGB顏色值的范圍從黑經(jīng)過(guò)紅、橘紅和黃,到白。 默認(rèn)為64×3的矩陣hsv色彩飽和值(以紅色開(kāi)始和結(jié)束)hot從黑到紅到黃到白cool青藍(lán)和洋紅的色度pin紅的彩色度gray線性灰度

41、bone帶一點(diǎn)的灰度jethsv的一種變形(以開(kāi)始和結(jié)束)copper線性銅色度prim三棱鏡。交替為紅色、橘黃色、黃色、綠色和天flag交替為紅色、白色、和黑色 57色彩處理(續(xù))色圖著色圖形窗口色圖的設(shè)置和改變,使用函數(shù):colormap(m)其中m代表色圖矩陣。三維表面圖形的著色三維表面圖實(shí)際上就是在網(wǎng)格圖的每一個(gè)網(wǎng)格片上涂上顏色。surf函數(shù)用缺省的著色方式對(duì)網(wǎng)格片著色。除此之外,還可以用shading命令來(lái)改變著色方式。»默認(rèn)著色(shading faceted):每個(gè)網(wǎng)格片用其高度對(duì)應(yīng)的顏色著色,網(wǎng)格線仍保留,顏色是黑色。平滑著色(shading flat) :每個(gè)網(wǎng)格片

42、用同一顏色著色,且網(wǎng)格線也用相應(yīng)的顏色,圖形表面顯得更加光滑。插值著色(shading interp) :網(wǎng)格片內(nèi)采用顏色插值處理,圖形表面顯得最光滑。»»58色彩處理(續(xù)) 例 3種圖形著色方式的效果展示。z=peaks(40);colormap(hot); subplot(1,3,1);surf(z); subplot(1,3,2); surf(z);shading flat;subplot(1,3,3);surf(z);shading interp;59圖形的裁剪處理 NaN常數(shù)可以用于表示那些不可使用的數(shù)據(jù) 利用這種特性,可以將圖形中需要裁剪部分對(duì)應(yīng)的函數(shù)值設(shè)置成N

43、aN,這樣在繪制圖形時(shí),函數(shù)值為NaN的部分將不目的。u 例,從而達(dá)到對(duì)圖形進(jìn)行裁剪的x,y,z=sphere(20);z1=z;%生成外面的大球z1(:,1:4)=NaN;%將大球裁掉一部分c1=ones(size(z1);surf(3*x,3*y,3*z1,c1); %生成里面的小球hold onz2=z; c2=2*ones(size(z2);c2(:,1:4)=3*ones(size(c2(:,1:4); surf(1.5*x,1.5*y,1.5*z2,c2); colormap(0,1,0;0.5,0,0;1,0,0);grid onhold off60主要內(nèi)容二維圖形三維圖形三維圖

44、形的精細(xì)處理隱函數(shù)繪圖低層繪圖操作光照和材質(zhì)處理圖像顯示與動(dòng)畫制作61隱函數(shù)繪圖函數(shù)的顯式表達(dá)式 Plot函數(shù)用隱函數(shù)形式給出 二維曲線:ezplot 三維曲線:ezplot3 三維曲面:ezmesh,ezsurf62二維隱函數(shù)曲線繪圖q 二維曲線繪圖: ezplotu ezplot(f,a,b)繪制 f = f(x) 在區(qū)間 a < x < b 上的圖形缺省的繪圖區(qū)間為 -2p, 2pu ezplot(f)繪制 f = f(x) 在區(qū)間 - 2p < x < 2p 上的圖形u ezplot(f(x,y),a,b,c,d)f ( x, y) = 0 在區(qū)間 a <

45、 x < b, c < y < d 上的圖形u ezplot(f(x,y)f ( x, y) = 0 在區(qū)間 - 2p < x < 2p ,-2p < y < 2p 上的圖形u ezplot(f,g,a,b)x = f (t), y = g(t) 在區(qū)間 a < t < b 上的圖形63二維隱函數(shù)曲線繪圖(續(xù))例subplot(2,2,1);ezplot('x2+y2-9');axis equal subplot(2,2,2); ezplot('x3+y3-5*x*y+1/5') subplot(2,2,3)

46、; ezplot('cos(tan(pi*x)', 0,1) subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',0,2*pi)64三維隱函數(shù)曲線繪圖q 空間曲線繪圖: ezplot3u ezplot3(x,y,z,a,b)空間曲線:x = x(t), y = y(t), z = z(t), a < t < bu ezplot3(x,y,z)空間曲線:x = x(t), y = y(t), z = z(t), 0 < t < 2p缺省的繪圖區(qū)間為 0, 2p65三維隱函數(shù)

47、曲面繪圖q 空間曲面繪圖: ezmesh、ezsurfu ezmesh(z(x,y),a,b,c,d)z = z( x, y), a < x < b, c < y < du ezmesh(z(x,y),a,b)z = z( x, y), a < x, y < bu ezmesh(z(x,y)z = z( x, y), -2p < x, y < 2pezsurf 的用法與 ezmesh 相同u ezmesh(x(s,t),y(s,t),z(s,t),a,b,c,d)x = x(s, t), y = y(s, t), z = z(s, t), a &

48、lt; s < b, c < t < du ezmesh(x(s,t),y(s,t),z(s,t),a,b)u ezmesh(x(s,t),y(s,t),z(s,t)66三維隱函數(shù)曲面繪圖(續(xù))例:利用球面的參數(shù)方程作圖:ezsurfì x = R × sinj × cosqï y = R × sinj × sinqíï z = R × cosjî67按字母順序第二自變量的取值范圍第一自變量的取值范圍>> ezsurf('3*sin(u)*cos(v)

49、9;, .'3*sin(u)*sin(v)','3*cos(u)', . 0,pi,0,2*pi);0 £ q < 2p0 £ j £ p主要內(nèi)容二維圖形三維圖形三維圖形的精細(xì)處理隱函數(shù)繪圖低層繪圖操作光照和材質(zhì)處理圖像顯示與動(dòng)畫制作68低層繪圖操作繪圖函數(shù) 對(duì)整個(gè)圖形進(jìn)行操作的,圖形每一部分的屬性都是按缺省方式設(shè)置的,充分體現(xiàn)了語(yǔ)言的實(shí)用性底層繪圖函數(shù) 可以定制圖形,對(duì)圖形的每一部分(圖形對(duì)象)進(jìn)行,用戶可以用來(lái)開(kāi)發(fā)用戶界面以及各專業(yè)的語(yǔ)言的開(kāi)放性圖形。充分體現(xiàn)了69圖形對(duì)象圖形對(duì)象圖形的各個(gè)基本要素稱為圖形對(duì)象 圖形對(duì)象的

50、樹(shù)型結(jié)構(gòu)RRooot(屏o幕t() 屏幕)Figure(圖形窗口)Axes(坐標(biāo)軸)Ui(用戶菜單)Uicontrol(用戶控件)Line(曲線)Surface (曲面)Rectangle (方框)Patch(區(qū)域塊)Image (圖像)Text(文字)Light (光源)70圖形對(duì)象句柄圖形對(duì)象句柄(Handle)在創(chuàng)建每一個(gè)圖形對(duì)象時(shí),都為該對(duì)象分配唯一的一個(gè)值,稱其為圖形對(duì)象句柄。句柄是圖形對(duì)象的唯一標(biāo)識(shí)符。 計(jì)算機(jī)屏幕作為根對(duì)象由系統(tǒng)自動(dòng)建立,其句柄值為 0,而圖形窗口對(duì)象的句柄值為一正整數(shù),并顯示在該窗口的標(biāo) 題欄,其他圖形對(duì)象的句柄為浮點(diǎn)數(shù)。提供了獲取已有圖形對(duì)象句柄的函數(shù):獲取當(dāng)

51、前圖形窗口的句柄(get current figure)。獲取當(dāng)前坐標(biāo)軸的句柄(get current axis)。獲取最近被單擊的圖形對(duì)象的句柄(get current object)gcf gcagcofindobj 按照指定的屬性獲取圖形對(duì)象的句柄71圖形對(duì)象屬性屬性名與屬性值給每種對(duì)象的每一個(gè)屬性規(guī)定了一個(gè)名字,稱為屬性名,屬性 名的取值成為屬性值。例如,LineStyle是曲線對(duì)象的一個(gè)屬性名,它的值決定著線型,取值可 以是- 、:、-.、-或none。屬性名不區(qū)分字母的大、小寫,在不引起歧義的前提下,可以不用寫全。屬性名要用單撇號(hào)括起來(lái)。屬性的操作 set設(shè)置指定句柄對(duì)象的屬性值。

52、set(句柄,屬性名1,屬性值1,屬性名2,屬性值2,)»»»x=0:2*pi;h=plot(x,sin(x); set(h,'color','r','linestyle',':','marker','p') get獲取指定句柄對(duì)象的屬性值。get(句柄,屬性名)get(0,'screensize')72圖形對(duì)象屬性對(duì)象的公共屬性圖形對(duì)象具有各種各樣的屬性,有些屬性是所有對(duì)象共同具備的»»»»»»

53、;Children屬性Parent屬性Tag屬性 Type屬性UserData屬性Visible屬性屬性»»屬性屬性73示例在同一坐標(biāo)下畫紅、綠兩根不同曲線,希望獲得綠例色曲線的句柄,并對(duì)其進(jìn)行設(shè)置。x=0:pi/50:2*pi; y=sin(x);z=cos(x); plot(x,y,'r',x,z,'g');H=get(gca,'Children');%獲取兩曲線句柄向量Hfor k=1:length(H)if get(H(k),'Color')=0 1 0%0 1 0代表綠色Hg=H(k);%獲取綠色線條

54、句柄endendpause%便于觀察設(shè)置效果set(Hg,'LineStyle',':','Marker','p');%對(duì)綠色曲線進(jìn)行設(shè)置74圖形窗口對(duì)象的創(chuàng)建建立圖形窗口對(duì)象使用figure函數(shù)。調(diào)用該函數(shù)令形式為:句柄變量=figure(屬性名1,屬性值1,屬性名2,屬性值2,)通過(guò)對(duì)屬性的操作來(lái)改變圖形窗口的形式。 可以使用 figure函數(shù)按figure 或 句柄變量 =figure缺省的屬性值建立圖形窗口: 要關(guān)閉圖形窗口,使用 close函數(shù),其調(diào)用格式為: close(窗口句柄 ) close all 命令可以關(guān)閉所

55、有的圖形窗口 clf命令則是清除當(dāng)前圖形窗口的內(nèi)容,但不關(guān)閉窗口。為每個(gè)圖形窗口提供了很多屬性。這些屬性及其取值著圖形窗口對(duì)象。除公共屬性外,其他常用屬性: 性、Color屬性等Bar屬性、Name屬性、Position屬75圖形窗口對(duì)象的創(chuàng)建示例例建立一個(gè)圖形窗口。該圖形窗口沒(méi)有菜單條,標(biāo)題名稱為“圖形窗口示例”,起始于屏幕左下角、寬度和高度分別為300像素點(diǎn)和150像素點(diǎn),背景顏色為綠色,且當(dāng)用戶 從鍵盤按下任意一個(gè)鍵時(shí),將顯示“Hello,Keyboard Key Pressed.”字樣。hf=figure('Color',0,1,0,'Position'

56、,1,1,300,150,.'Name','圖形窗口示例','NumberTitle','off','Bar','none',.'','disp(''Hello,Keyboard Key Pressed.'')');76坐標(biāo)軸對(duì)象的創(chuàng)建¾建立坐標(biāo)軸對(duì)象使用axes函數(shù),調(diào)用它令形式為:句柄變量=axes(屬性名1,屬性值1,屬性名2,屬性值2,)為每個(gè)坐標(biāo)軸對(duì)象提供了很多屬性。除公共屬性外,還有其他常用屬性。Ø Box屬性、GridLineStyle屬性、Position屬性、Units屬性、Title屬性等。¾77坐標(biāo)軸對(duì)象的創(chuàng)建示例利用坐標(biāo)軸對(duì)

溫馨提示

  • 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)論