第四講+繪圖功能.PPt.ppt_第1頁
第四講+繪圖功能.PPt.ppt_第2頁
第四講+繪圖功能.PPt.ppt_第3頁
第四講+繪圖功能.PPt.ppt_第4頁
第四講+繪圖功能.PPt.ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四講繪圖功能,作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三維圖形函數(shù)。由于系統(tǒng)采用面向?qū)ο蟮募夹g(shù)和豐富的矩陣運算,所以在圖形處理方面即常方便又高效。,4.0圖形窗口,Matlab自動將圖形畫在圖形窗口上圖形窗口相對命令窗口等是獨立的窗口圖形窗口的屬性由系統(tǒng)和matlab共同控制格式:figure(n),4.1二維圖形,一、plot函數(shù)函數(shù)格式:plot(x,y)其中x和y為坐標向量函數(shù)功能:以向量x、y為軸,繪制曲線。,其他格式:plot(y)plot(x1,y1,x2,y2,)說明:(1)plot(y):當(dāng)y為向量時,則以y的元素為縱坐標,以相應(yīng)元素下標為橫坐標,繪制連線圖。(2)plot(x1,y1,x2,y2,):每對x、y必須符合plot(x,y)中的要求,不同對之間沒有影響,命令將對每一對x,y繪制曲線。,【例】在區(qū)間0X2內(nèi),繪制正弦曲線Y=sin(X),其程序為:x=0:pi/100:2*pi;y=sin(x);plot(x,y),【例】同時繪制正、余弦兩條曲線Y1=sin(X)和Y2=cos(X),其程序為:x=0:pi/100:2*pi;y1=sin(x);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,color_linestyle_marker,.)其中color_linestyle_marker為一個字符串,由顏色、線型、數(shù)據(jù)點的圖標組成,color、linestyle、marker順序不定。,4.1二維圖形,一、plot函數(shù),【例】用不同線型和顏色繪制圖形,其程序為:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,go,x,y2,b-.)其中參數(shù)go和b-.表示圖形的顏色和線型。g表示綠色,o表示圖形線型為圓圈;b表示藍色,-.表示圖形線型為點劃線。,顏色字符定義表,線型字符定義表,(二)圖形標記在繪制圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、坐標說明等,將這些操作稱為添加圖形標記。title(加圖形標題);xlabel(加X軸標記);ylabel(加Y軸標記);text(X,Y,添加文本);gtext(string),4.1二維圖形,一、plot函數(shù),格式:text(x,y,string)text(x,y,z,string)text(.PropertyName,PropertyValue.),如:plot(0:pi/20:2*pi,sin(0:pi/20:2*pi)text(pi,0,leftarrowsin(pi),FontSize,18),gtext(string)用鼠標在圖形窗口確定標注位置,出現(xiàn)十字坐標。如:plot(0:pi/20:2*pi,sin(0:pi/20:2*pi)gtext(正弦曲線),leftarrowrightarrowuparrowdownarrow,(三)設(shè)定坐標軸用戶若對坐標系統(tǒng)不滿意,可利用axis命令對其重新設(shè)定。axis(xminxmaxyminymax)設(shè)定最大和最小值axis(auto)將坐標系統(tǒng)返回到自動缺省狀態(tài)axis(square)將當(dāng)前圖形設(shè)置為方形axis(equal)兩個坐標因子設(shè)成相等axis(off)關(guān)閉坐標系統(tǒng)axis(on)顯示坐標系統(tǒng),4.1二維圖形,一、plot函數(shù),【例】在坐標范圍0X2,-2Y2內(nèi)重新繪制正弦曲線,其程序為:x=linspace(0,2*pi,60);%生成含有60個數(shù)據(jù)元素的向量Xy=sin(x);plot(x,y);axis(02*pi-22);%設(shè)定坐標軸范圍,4.1二維圖形,一、plot函數(shù),(四)加圖例給圖形加圖例命令為legend。該命令把圖例放置在圖形空白處,用戶還可以通過鼠標移動圖例,將其放到希望的位置。格式:legend(圖例說明,圖例說明);,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);,曲線和圖例對應(yīng),(五)hold命令若在已存在圖形窗口中用plot命令繼續(xù)添加新的圖形內(nèi)容,可使用圖形保持命令hold。發(fā)出命令holdon后,再執(zhí)行plot命令,在保持原有圖形或曲線的基礎(chǔ)上,添加新繪制的圖形。,閱讀如下程序:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,b);%繪制正弦曲線holdon;%設(shè)置圖形保持狀態(tài)plot(x,z,g);%保持正弦曲線同時繪制余弦曲線axis(02*pi-11);legend(cos,sin);holdoff%關(guān)閉圖形保持,(六)設(shè)置坐標軸刻度set(gca,xtick,)set(gca,xtick,),(七)柵格控制gridongridoff,如:set(gca,xtick,0,0.1,0.5,1,2,3.2,4.7),%第三個參數(shù)升序原則排列,(一)subplot(m,n,p)該命令將當(dāng)前圖形窗口分成mn個繪圖區(qū),即每行n個,共m行,區(qū)號按行優(yōu)先編號,且選定第p個區(qū)為當(dāng)前活動區(qū)。,4.1二維圖形,二、subplot函數(shù),or2,2,3,【例】在一個圖形窗口中同時繪制正弦、余弦、正切、余切曲線,程序為:x=linspace(0,2*pi,60);y=sin(x);z=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(02*pi-11);subplot(2,2,2);,plot(x,z);title(cos(x);axis(02*pi-11);subplot(2,2,3);plot(x,t);title(tangent(x);axis(02*pi-4040);subplot(2,2,4);plot(x,ct);title(cotangent(x);axis(02*pi-4040);,4.1二維圖形,二、subplot函數(shù),(二)多圖形窗口需要建立多個圖形窗口,繪制并保持每一個窗口的圖形,可以使用figure命令。每執(zhí)行一次figure命令,就創(chuàng)建一個新的圖形窗口,該窗口自動為活動窗口,若需要還可以返回該窗口的識別號碼,稱該號碼為句柄。句柄顯示在圖形窗口的標題欄中,即圖形窗口標題。用戶可通過句柄激活或關(guān)閉某圖形窗口,而axis、xlabel、title等許多命令也只對活動窗口有效。,4.1二維圖形,二、subplot函數(shù),繪制4個圖形,程序如下:x=linspace(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)建新窗口并返回句柄到變量H1plot(x,y);%繪制圖形并設(shè)置有關(guān)屬性title(sin(x);axis(02*pi-11);H2=figure;%創(chuàng)建第二個窗口并返回句柄到變量H2plot(x,z);%繪制圖形并設(shè)置有關(guān)屬性title(cos(x);,axis(02*pi-11);H3=figure;%同上plot(x,t);title(tangent(x);axis(02*pi-4040);H4=figure;%同上plot(x,ct);title(cotangent(x);axis(02*pi-4040);,4.1二維圖形,二、subplot函數(shù),4.1二維圖形,圖形的旋轉(zhuǎn),4.2特殊坐標圖形,一、對數(shù)坐標圖形(一)loglog(x,y)雙對數(shù)坐標【例】繪制y=|1000sin(4x)|+1的雙對數(shù)坐標圖。程序為:x=0:0.1:2*pi;y=abs(1000*sin(4*x)+1;loglog(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特殊坐標圖形,log,log10,log2用法:1、matlab中的log函數(shù)是數(shù)學(xué)中的ln,而非log,而我們常說的log實質(zhì)上是以10為底的對數(shù),2、matlab中以10為底的對數(shù)需要用log10函數(shù)3、matlab中以2為底的對數(shù)需要用log2函數(shù)。,log(10)ans=2.3026log(exp(3)ans=3,log10(10)ans=1,log2(8)ans=3,例:,二、極坐標圖函數(shù)polar(theta,rho)用來繪制極坐標圖,theta為極坐標角度,rho為極坐標半徑【例】繪制sin(2*)*cos(2*)的極坐標圖,程序為:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho);%繪制極坐標圖命令title(polarplot);,4.2特殊坐標圖形,4.3其它圖形函數(shù),除plot等基本繪圖命令外,Matlab系統(tǒng)提供了許多其它特殊繪圖函數(shù),這里舉一些代表性例子,更詳細的信息用戶可隨時查閱在線幫助,其對應(yīng)的M-file文件存放在系統(tǒng)matlabtoolboxmatlab目錄下。,4.3其它圖形函數(shù),一、階梯圖形函數(shù)stairs(x,y)可以繪制階梯圖形,如下列程序段:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y);%繪制階梯圖形命令title(stairsplot);,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=01100;%正方形頂點坐標向量y=00110;fill(x,y,y);%繪制并以黃色填充正方形圖再如:x=0:0.025:2*pi;y=sin(3*x);fill(x,y,);%顏色向量Matlab系統(tǒng)可用向量表示顏色,通常稱其為顏色向量?;绢伾蛄坑胷gb表示,即RGB顏色組合;以RGB為基本色,通過r,g,b在01范圍內(nèi)的不同取值可以組合出各種顏色。,4.3其它圖形函數(shù),二維繪圖函數(shù)小結(jié),plot二維圖形基本函數(shù)fplotf(x)函數(shù)曲線繪制fill填充二維多邊圖形polar極坐標圖bar條形圖loglog雙對數(shù)坐標圖semilogxX軸為對數(shù)的坐標圖semilogyY軸為對數(shù)的坐標圖stairs階梯形圖axis設(shè)置坐標軸clf清除圖形窗口內(nèi)容close關(guān)閉圖形窗口,figure創(chuàng)建圖形窗口grid放置坐標網(wǎng)格線gtext用鼠標放置文本hold保持當(dāng)前圖形窗口內(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ù)格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,)其中x1,y1,z1表示三維坐標向量,c1,c2表示線形或顏色。函數(shù)功能:以向量x,y,z為坐標,繪制三維曲線。,【例】繪制三維螺旋曲線,其程序為: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)圖時,可以通過繪制三維網(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三維圖形,【例】下列程序繪制三維網(wǎng)格曲面圖figure(1);x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩陣相乘mesh(x,y,z);,meshc(.):drawsacontourplotbeneaththemesh.meshz(.):drawsacurtainplot(i.e.,areferenceplane)aroundthemesh.,三、surf函數(shù)surf用于繪制三維曲面圖,各線條之間的補面用顏色填充。surf函數(shù)和mesh函數(shù)的調(diào)用格式一致。函數(shù)格式:surf(x,y,z)其中x,y控制X和Y軸坐標,矩陣z是由x,y求得的曲面上Z軸坐標。,4.4三維圖形,【例】下列程序繪制三維曲面圖形figure(2);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-Dsurf);,surfc(.):drawsacontourplotbeneaththesurface.,四、視點視點位置可由方位角和仰角表示。方位角又稱旋轉(zhuǎn)角為視點位置在XY平面上的投影與X軸形成的角度,正值表示逆時針,負值表示順時針。仰角又稱視角為XY平面的上仰或下俯角,正值表示視點在XY平面上方,負值表示視點在XY平面下方。從不同視點繪制三維圖形的函數(shù)為view。view(az,el)中的az為方位角,el為仰角。通過系統(tǒng)提供的多峰函數(shù)peaks的繪制例子,可進一步說明視點對圖形的影響,以及view(az,el)函數(shù)的使用。,4.4三維圖形,【例】不同視角圖形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的視點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),4.4三維圖形,五、等高線圖等高線圖可通過函數(shù)contour3繪制?!纠慷喾搴瘮?shù)peaks的等高線圖x,y,z=peaks(30);contour3(x,y,z,16);xlabel(x-axis);ylabel(y-axis);zlabel(z-axis);title(contour3ofpeaks),4.4三維圖形,4.5圖形句柄,一、句柄在Matlab系統(tǒng)中,繪圖命令產(chǎn)生的每一個部分稱為圖形對象,系統(tǒng)在創(chuàng)建每一個對象時,都為該對象分配唯一的一個值,稱其為句柄,因此句柄就是圖形對象標識符。對象、句柄以及圖形對象等概念其實質(zhì)是統(tǒng)一的,系統(tǒng)將每一個對象按樹型層次結(jié)構(gòu)組織起來,這些對象包括根對象,通常為計算機屏幕、圖形窗口、坐標系統(tǒng)、線條、曲面、文本串、用戶界面控制等。,根對象可包含一個或多個圖形窗口對象,而一個圖形窗口對象又可包含一組或多組坐標系子對象,線條、文本等其它對象都是坐標系的子對象。所有創(chuàng)建對象的函數(shù)當(dāng)父對象不存在時,都會自動創(chuàng)建它。計算機屏幕作為根對象自動建立,其句柄值為0。而Hf_f=figure命令則建立圖形窗口對象,并返回它的句柄值給變量Hf_f。圖形窗口的句柄為一整數(shù),并顯示在該窗口的標題欄,其它圖形對象的句柄為浮點數(shù),Matlab提供了一系列與句柄操作有關(guān)的函數(shù),如gcf、gca等。為便于識別,用大寫字母開頭的變量表示句柄,如Hf_f等。,4.5圖形句柄,二、對象屬性所有圖形對象都具有控制對象顯示的屬性。這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標系對象的刻度等。用戶可以獲取、設(shè)置對象屬性,以達到控制對象的目的。當(dāng)創(chuàng)建一個對象時,系統(tǒng)用一組默認屬性值定制對象,用戶通過get命令獲取這些屬性值,同時也可通過set命令重新設(shè)置對象屬性。set命令格式為:set(H,name,value,)將圖形對象H的name屬性設(shè)置為value其中H為句柄,name為屬性名,value為name的屬性值。,4.5圖形句柄,4.5圖形句柄,用set命令可以方便地設(shè)置圖形對象屬性,如下列程序段就是通過屬性來定制圖形。x=0:0.1:4*pi;H=plot(x,sin(x);%返回正弦曲線句柄Hset(H,LineStyle,o,LineWidth,0.1);%設(shè)置正弦曲線線型與線寬其中LineStyle為線型屬性,LineWidth為線寬屬性。,4.5圖形句柄,4.5圖形句柄,利用get(H)命令可以返回當(dāng)前句柄H對象的屬性。鍵入命令:get(H)系統(tǒng)返回當(dāng)前圖形對象的有關(guān)屬性:如:H=get(0,CurrentFigure)則返回根對象的CurrentFigure的屬性值,即當(dāng)前圖形窗口的句柄,相當(dāng)于函數(shù)gcf。get(gcf,Children)則返回當(dāng)前坐標系對象的句柄;類似的操作用戶可在使用Matlab的過程中不斷積累。,4.5圖形句柄,A=figure();B=figure();C=get(0,CurrentFigure)C=2,對前例用get(H),例如:,4.5圖形句柄,三、句柄應(yīng)用利用句柄操作的有關(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_linesfork=1:size(Hl_lines)ifget(Hl_lines(k),Color)=010%010為綠顏色向量Hl_green=Hl_lines(k)%返回綠色線條句柄endend,4.5圖形句柄,圖形句柄引用:hfig=figure;set(hfig,Name,最后時間點voltage);plot(0:1,0:1)%最后時間點上的空間圖gridon;title(voltage),4.6動畫設(shè)計,如果將Matlab產(chǎn)生的多幅圖形保存起來,并利用系統(tǒng)提供的函數(shù)進行播

溫馨提示

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

評論

0/150

提交評論