版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 MATLAB計(jì)算的可視化和GUI設(shè)計(jì),,,,,4 . 1 二維曲線的繪制,4 . 2 MATLAB的特殊圖形繪制,4 . 3 MATLAB的三維圖形繪制,4 . 4 圖形繪制工具,,4 . 5 對(duì)話框,,4 . 6 句柄圖形,,4 . 7 用戶圖形界面設(shè)計(jì),,4 . 8 圖形文件轉(zhuǎn)儲(chǔ),4 . 1 二維曲線的繪制,MATLAB的二維曲線功能很強(qiáng)大,主要包括線型圖、柱狀圖、面積圖、方向圖、極坐標(biāo)圖和散點(diǎn)圖,所有類型
2、如圖4.1所示。,4.1.1 基本繪圖命令,plot命令是MATLAB中最簡(jiǎn)單而且使用最廣泛的1個(gè)繪圖命令,用來(lái)繪制二維曲線。語(yǔ)法:plot(x) %繪制以x為縱坐標(biāo)的二維曲線plot(x,y) %繪制以x為橫坐標(biāo),y為縱坐標(biāo)的二維曲線1.用plot(x) 繪制x向量曲線若x是長(zhǎng)度為n的數(shù)值向量,則坐標(biāo)系的縱坐標(biāo)為向量x,橫坐標(biāo)為MATLAB系統(tǒng)根據(jù)x向量的元素序號(hào)自動(dòng)生成的從1開(kāi)始的向量。plot(x)命
3、令用于在坐標(biāo)系中順序地用直線段連接各點(diǎn),生成1條折線,當(dāng)向量的元素充分多時(shí),可以得到1條光滑的曲線。,,4.1.1 基本繪圖命令,【例4.1】 用plot(x)命令畫(huà)直線,如圖4.2所示。>> x1=[1 2 3]x1 = 1 2 3>> plot(x1)>> x2=[0 1 0]x2 = 0 1 0>> plot(x2)
4、,,,4.1.1 基本繪圖命令,2.用plot(x,y)命令繪制向量x和y的曲線若參數(shù)x和y都是長(zhǎng)度為n的向量,則x、y的長(zhǎng)度必須相等,用plot(x,y)命令繪制縱坐標(biāo)為向量y、橫坐標(biāo)為向量x的曲線?!纠?.2】 繪制正弦曲線y=sin(x)和方波曲線,如圖4.3所示。>> x1=0:0.1:2*pi;>> y1=sin(x1); %y1為x1的正弦函數(shù)>> plot(x1,y
5、1)>> x2=[0 1 1 2 2 3 ];>> y2=[1 1 0 0 1 1 ];>> plot(x2,y2)>> axis([0 4 0 2]) %將坐標(biāo)軸范圍設(shè)定為0~4和0~2,4.1.1 基本繪圖命令,,4.1.1 基本繪圖命令,3.用plot(x)命令繪制矩陣x的曲線若x是1個(gè)m?n的矩陣,則plot(x)命令為矩陣的每一列畫(huà)出1條線,共n條曲線,各曲
6、線自動(dòng)地用不同顏色表示;每條線的橫坐標(biāo)為向量1:m,m是矩陣的行數(shù),繪制方法與向量相同。【例4.3】 矩陣圖形的繪制,如圖4.4所示。>> x1=[1 2 3;4 5 6];>> plot(x1)>> x2=peaks; %產(chǎn)生1個(gè)49*49的矩陣>> plot(x2),4.1.1 基本繪圖命令,4.用plot(x,y)命令繪制混合式曲線當(dāng)plot(x,y)命令中
7、的參數(shù)x和y是向量或矩陣時(shí),分別有以下幾種情況。(1)如果x是向量,而Y是矩陣,則x的長(zhǎng)度與矩陣Y的行數(shù)或列數(shù)必須相等。如果x的長(zhǎng)度與Y的行數(shù)相等,則向量x與矩陣Y的每列向量對(duì)應(yīng)畫(huà)1條曲線;如果x的長(zhǎng)度與Y的列數(shù)相等,向量x與Y的每行向量畫(huà)1條曲線;如果Y是方陣,則x和Y的行數(shù)和列數(shù)都相等,將向量x與矩陣Y的每列向量畫(huà)1條曲線。(2)如果X是矩陣,而y是向量,則y的長(zhǎng)度必須等于X的行數(shù)或列數(shù),繪制的方法與前一種相似。(3)如果X和
8、Y都是矩陣,則大小必須相同,將矩陣X的每列和Y的每列畫(huà)1條曲線。,4.1.1 基本繪圖命令,【例4.4】 混合式圖形的繪制,如圖4.5所示。,,,4.1.1 基本繪圖命令,>> x1=[1 2 3];>> y1=[1 2 3;4 5 6]y1 = 1 2 3 4 5 6>> plot(x1,y1) %x1和y1的列數(shù)個(gè)數(shù)相同,x1為橫
9、坐標(biāo),y1每行為縱坐標(biāo)>> y2=y1'y2 = 1 2 3 45 6>>Plot(x1,y2) %x1和y2的行數(shù)個(gè)數(shù)相同,x1為橫坐標(biāo),y1每列為縱坐標(biāo)>> plot(y1,x1)%y1是矩陣,x1是向量,y1每行為橫坐標(biāo),x1為縱坐標(biāo)>> plot(y2,x1)%y1是矩陣,x1是向量,y2每列為橫坐標(biāo),x1為
10、縱坐標(biāo)>> x2=[1 1 1;2 2 2]x2 = 1 1 1 2 2 2>> plot(x2,y1) %x1和y1都是矩陣,x2每列為橫坐標(biāo),y1每列為縱坐標(biāo),,4.1.1 基本繪圖命令,5.用plot(z)命令繪制復(fù)向量曲線plot(z)中的參數(shù)z為復(fù)向量時(shí),plot(z)和plot(real(z)、imag(z))是等效的,以實(shí)部作為橫坐標(biāo)
11、,以虛部作為縱坐標(biāo)。【例4.4續(xù)】 以下程序畫(huà)出如圖4.5(e)所示的曲線。>> z1=x2+i*y1z1 = 1.0000 + 1.0000i 1.0000 + 2.0000i 1.0000 + 3.0000i 2.0000 + 4.0000i 2.0000 + 5.0000i 2.0000 + 6.0000i>> plot(z1) %以實(shí)部作為橫坐標(biāo),以虛部作為縱坐
12、標(biāo),,4.1.1 基本繪圖命令,6.用plot(x1,y1,x2,y2,…)命令繪制多條曲線plot命令還可以同時(shí)繪制多條曲線,用多個(gè)矩陣對(duì)為參數(shù),MATLAB自動(dòng)以不同的顏色繪制不同曲線。每一對(duì)矩陣(Xi,Yi)均按照前面的方式解釋,不同的矩陣對(duì)之間,其維數(shù)可以不同?!纠?.5】 繪制3條曲線,如圖4.6所示。>>x = 0:pi/100:2*pi;>>y1 = sin(x);>>y2
13、 = sin(x+.5);>>y3 = sin(x+1);>>plot(x,y1,x,y2,x,y3);%畫(huà)3條曲線,4.1.1 基本繪圖命令,4.1.2 繪制曲線的一般步驟,在MATLAB中,無(wú)論是繪制二維還是三維圖形,如果要畫(huà)出相當(dāng)滿意的彩色圖形,就要對(duì)圖形進(jìn)行各種修飾,如表4.1所示為繪制二維、三維圖形一般步驟的歸納。,4.1.3 多個(gè)圖形繪制的方法,1.指定圖形窗口如果需要多個(gè)圖形窗口同
14、時(shí)打開(kāi)時(shí),可以使用figure語(yǔ)句。語(yǔ)法:figure(n) %產(chǎn)生新圖形窗口2.同一窗口多個(gè)子圖如果需要在同一圖形窗口中布置幾幅獨(dú)立的子圖,則可以在plot命令前加上subplot命令以便將1個(gè)圖形窗口劃分為多個(gè)區(qū)域,每個(gè)區(qū)域1幅子圖。語(yǔ)法:subplot(m,n,k)%使m?n幅子圖中的第k幅成為當(dāng)前圖,,4.1.3 多個(gè)圖形繪制的方法,【例4.6】 用subplot命令畫(huà)4個(gè)子圖,如圖4.7所示。&g
15、t;> x=0:0.1:2*pi;>> subplot(2,2,1) %分割為2*2個(gè)子圖,左上方為當(dāng)前圖>> plot(x,sin(x))>> subplot(2,2,2) %右上方為當(dāng)前圖>> plot(x,cos(x))>> subplot(2,2,3) %左下方為當(dāng)前圖>> plot(x,sin(3*x))>>
16、; subplot(224) %右下方為當(dāng)前圖,省略逗號(hào)>> plot(x,cos(3*x)),4.1.3 多個(gè)圖形繪制的方法,,4.1.3 多個(gè)圖形繪制的方法,3.同一窗口多次疊繪在當(dāng)前坐標(biāo)系中繪圖時(shí),每調(diào)用1次plot函數(shù),會(huì)擦掉圖形窗口中已有的圖形。為了在1個(gè)坐標(biāo)系中增加新的圖形對(duì)象,可以用“hold”命令保留原圖形對(duì)象。語(yǔ)法:hold on %使當(dāng)前坐標(biāo)系和圖形保留hold off
17、%使當(dāng)前坐標(biāo)系和圖形不保留hold %在以上2個(gè)命令中切換,,【例4.7】 在同一窗口畫(huà)出函數(shù)sinx在區(qū)間[0,2?]的曲線和cosx在區(qū)間[??,?]的曲線,如圖4.8(a)所示。>> x1=0:0.1:2*pi;>> plot(x1,sin(x1))>> hold on>> x2=?pi:.1:pi;>> plot(x2,cos(x2)),4
18、.1.3 多個(gè)圖形繪制的方法,4.雙縱坐標(biāo)圖語(yǔ)法:plotyy(x1,y1,x2,y2)%以左、右不同縱軸繪制2條曲線【例4.7續(xù)】 用plotyy函數(shù)實(shí)現(xiàn)在同一圖形窗口繪制2條曲線,如圖4.8(b)所示。>> plotyy(x1,sin(x1),x2,cos(x2))程序分析:plotyy函數(shù)用不同顏色繪制2條曲線,縱坐標(biāo)軸在左右兩邊,橫坐標(biāo)為??~2?。,4.1.4 曲線的線形、顏色和數(shù)據(jù)點(diǎn)形,使用
19、plot命令運(yùn)行多種調(diào)用方式時(shí),MATLAB自動(dòng)以默認(rèn)方式設(shè)置各曲線的線形、線段的顏色和數(shù)據(jù)點(diǎn)形等。實(shí)際上,plot命令還可以設(shè)置曲線的線段類型、顏色和數(shù)據(jù)點(diǎn)形等,如表4.2所示。,,4.1.4 曲線的線形、顏色和數(shù)據(jù)點(diǎn)形,在plot命令中可以通過(guò)使用表4.2中由符號(hào)組成的字符串,控制所畫(huà)線的線段類型、顏色和數(shù)據(jù)點(diǎn)形。語(yǔ)法:plot(x,y,s)【例4.8】 用不同的線段類型、顏色和數(shù)據(jù)點(diǎn)形在同一窗口中畫(huà)出sinx和cosx曲
20、線,如圖4.9所示。>> x=0:0.1:2*pi;>> plot(x,sin(x),'r?.') %用紅色點(diǎn)畫(huà)線畫(huà)出曲線>> hold on>> plot(x,cos(x),'b:o') %用藍(lán)色圓圈畫(huà)出曲線,用點(diǎn)線連接,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,1.坐標(biāo)軸的控制plot命令根據(jù)所給的坐標(biāo)點(diǎn)自動(dòng)確定坐標(biāo)軸的范圍,用坐標(biāo)控制命
21、令axis控制坐標(biāo)軸的特性,表4.3列出了其常用的坐標(biāo)控制命令。,,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,2.分格線使用grid命令顯示分格線。語(yǔ)法:grid on%顯示分格線grid off%不顯示分格線grid %在以上2個(gè)命令間切換【例4.9】 在2個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控制,如圖4.10所示。>> x=0:0.1:2*pi;>> subplot(2,1,1)
22、>> plot(sin(x),cos(x))>> axis equal %縱、橫軸采用等長(zhǎng)刻度>> grid on %加分格線>> subplot(2,1,2)>> plot(x,exp(?x))>> axis([0,3,0,2]) %改變坐標(biāo)軸范圍,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,3.文字標(biāo)注
23、圖形的文字標(biāo)注是指在圖形中添加標(biāo)志性的注釋,文字標(biāo)注包括:圖名(Title)、坐標(biāo)軸名(Label)、文字注釋(Text)和圖例(Legend)。(1)添加圖名。語(yǔ)法:title(s)%書(shū)寫(xiě)圖名(2)添加坐標(biāo)軸名。語(yǔ)法:xlabel(s) %橫坐標(biāo)軸名ylabel(s) %縱坐標(biāo)軸名(3)添加圖例。語(yǔ)法:legend(s,pos) %在指定位置建立圖例legend off
24、%擦除當(dāng)前圖中的圖例,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,(4)添加文字注釋。語(yǔ)法:text(xt,yt,s)%在圖形的(xt,yt)坐標(biāo)處書(shū)寫(xiě)文字注釋【例4.10】 在圖形窗口中添加文字注釋,如圖4.11所示。,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,>> x=0:0.1:2*pi;>> plot(x,sin(x))>> hold on>> plot(x,cos
25、(x),'ro')>> title('y1=sin(x),y2=cos(x)') %添加標(biāo)題>> xlabel('x') %添加橫坐標(biāo)名>> legend('sin(x)','cos(x)',4) %在右下角添加圖例>> text(pi,sin(pi),'x=\pi'
26、) %在pi,sin(pi)處添加文字注釋,,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,4.坐標(biāo)刻度在坐標(biāo)軸上默認(rèn)的刻度是自動(dòng)等距離分隔的,但有些刻度需要特別標(biāo)注出來(lái),因此需要使用坐標(biāo)刻度專門(mén)標(biāo)注。通過(guò)設(shè)置xtick和ytick屬性可以劃分坐標(biāo)刻度。通過(guò)設(shè)置xticklabel和yticklabel屬性可以標(biāo)注將坐標(biāo)刻度的標(biāo)志。【例4.10續(xù)】 在圖4.11中將橫坐標(biāo)按照每隔?/2進(jìn)行標(biāo)識(shí),則圖形顯示如圖4.12所示。>
27、>axis([0,2*pi,-2,2])>>set(gca,'XTick',0:pi/2:2*pi)%橫坐標(biāo)刻度>>set(gca,'XTickLabel',{'0','pi/2','pi','pi3/2','2pi'})%橫坐標(biāo)標(biāo)識(shí),4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,4.1.5
28、設(shè)置坐標(biāo)軸和文字標(biāo)注,5.特殊符號(hào)如果需要對(duì)圖形中的文字標(biāo)志使用特殊字符,如希臘字母、數(shù)學(xué)符等,則可以使用如表4.5所示的對(duì)應(yīng)字符,如例4.10中的“text(pi,sin(pi),'x=\pi')”顯示了希臘字符“?”。,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,如果需要對(duì)文字進(jìn)行上、下標(biāo)設(shè)置,或設(shè)置字體大小,則必須在文字標(biāo)志前先使用如表4.6所示的文字設(shè)置值。,4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注,【例4.11】 在MA
29、TLAB的圖形窗口中寫(xiě)出標(biāo)題為表達(dá)式 ,字體大小為16號(hào),其特殊字符顯示如圖4.13所示。>> figure(1)>> title('\fontsize{16}y(\omega)=\int^{\infty}_{0}y(t)e^{?j\omegat}dt'),,4.1.6 交互式圖形命令,1.ginput命令ginput命令與其他圖形命令的原理不同,不是把數(shù)據(jù)表現(xiàn)在圖上,而是從圖上獲取數(shù)據(jù)。
30、ginput命令在數(shù)值優(yōu)化和工程設(shè)計(jì)中都十分有用,僅適用于二維圖形。語(yǔ)法:[x,y]=ginput(n)%用鼠標(biāo)從圖形上獲取n個(gè)點(diǎn)的坐標(biāo)(x,y)2.gtext命令gtext命令是把字符串放置到圖形中鼠標(biāo)所指定的位置上,該命令對(duì)二維、三維圖形都適用。語(yǔ)法:gtext('s') %用鼠標(biāo)把字符串放置到圖形上,,4.1.6 交互式圖形命令,【例4.12】 在y=sin(x)的圖形中將(?,0)和
31、(2?,0)點(diǎn)的坐標(biāo)取出,并在(2?,0)點(diǎn)寫(xiě)“2?”字符串。>> x=0:0.1:2*pi;>> plot(x,sin(x))>> [m,n]=ginput(2) %取2點(diǎn)坐標(biāo)m = 3.1532 6.2984n = ?0.0029 ?0.0088>> gtext('2\pi') %寫(xiě)2?程序分析:由于鼠標(biāo)所取點(diǎn)的位置有
32、些偏差,因此ginput命令獲取的坐標(biāo)并不是精確在(?,0)和(2?,0)點(diǎn)上;gtext命令在圖中鼠標(biāo)單擊處寫(xiě)了“2?”字符串。,4 . 2 MATLAB的特殊圖形繪制,4.2.1 條形圖條形圖常用于對(duì)統(tǒng)計(jì)的數(shù)據(jù)進(jìn)行作圖,特別適用于少量且離散的數(shù)據(jù)。繪制條形圖的函數(shù)如表4.7所示。,語(yǔ)法:bar(x,y,width,'參數(shù)') %畫(huà)條形圖bar3(y,z,width,'參數(shù)')
33、%畫(huà)三維條形圖,,4.2.1 條形圖,【例4.13】 用條形圖表示某年1月份中3日至6日連續(xù)4天的溫度數(shù)據(jù),Y矩陣的各列分別表示平均溫度、最高溫度和最低溫度,如圖4.15所示,用條形圖和三維條形圖分別表示。>> x=3:6;>> y=[5.3000 13.0000 0.40005.1000 11.8000 ?1.70003.7000 8.1000 0.6000
34、1.5000 7.7000 ?4.5000]>> bar(x,y) %畫(huà)條形圖>> bar3(x,y) %畫(huà)三維條形圖,4.2.2 面積圖和實(shí)心圖,1.面積圖面積圖在曲線與橫軸之間填充顏色,用于繪制面積圖的命令為“area”,只能用于二維繪圖。語(yǔ)法:area(y) %畫(huà)面積圖area(x,y)2.實(shí)心圖實(shí)心圖是將數(shù)據(jù)的起點(diǎn)和終點(diǎn)連成多邊形,并填充顏色,繪制實(shí)心
35、圖的命令為“fill”。語(yǔ)法:fill(x,y,c) %畫(huà)實(shí)心圖,4.2.2 面積圖和實(shí)心圖,【例4.13續(xù)】 繪制面積圖和實(shí)心圖,并比較其區(qū)別,如圖4.16所示。>> area(x,y) %面積圖>> fill(x,y,'r') %紅色的實(shí)心圖,4.2.3 直方圖,語(yǔ)法:hist(y,m) %統(tǒng)計(jì)每段的元素個(gè)數(shù)并畫(huà)出直方圖hist(y,x)【
36、例4.14】 用直方圖表示正態(tài)分布的隨機(jī)數(shù)分布,如圖4.17所示。,4.2.3 直方圖,>> y=randn(10,2) %產(chǎn)生10*2的正態(tài)分布的隨機(jī)數(shù)矩陣y = ?1.1878 ?1.1859 ?2.2023 ?1.0559 0.9863 1.4725 ?0.5186 0.0557 0.3274 ?1.2173 0.2341 ?0.0412
37、 0.0215 ?1.1283 ?1.0039 ?1.3493 ?0.9471 ?0.2611 ?0.3744 0.9535>> x=?2:0.5:2;>> hist(y,x),,4.2.4 餅形圖,餅形圖用于顯示向量中的每個(gè)元素占向量元素總和的百分比,可以用pie和pie3命令分別繪制二維和三維餅形圖。語(yǔ)法:pie(x,explode, 'label
38、') %畫(huà)二維餅形圖pie3(x,explode, 'label') %畫(huà)三維餅形圖【例4.15】 繪制4個(gè)季度支出額的餅形圖,如圖4.18所示。>> y=[200 100 250 400];%4個(gè)季度支出額>> explode=[0 0 1 0];>> pie(y,explode,{'第1季度','第2季度',
39、'第3季度','第4季度'}),,4.2.5 離散數(shù)據(jù)圖,【例4.16】 使用幾種繪制離散數(shù)據(jù)的命令顯示 的離散數(shù)據(jù),如圖4.19所示。>> x=0:0.1:2*pi;>> y=sin(x).*exp(?2*x);>> subplot(3,1,1)>> stem(x,y,'filled') %畫(huà)火柴桿圖>>
40、subplot(3,1,2)>> stairs(x,y) %畫(huà)階梯圖>> subplot(3,1,3)>> scatter(x,y) %畫(huà)點(diǎn)圖,4.2.6 對(duì)數(shù)坐標(biāo)和極坐標(biāo)圖,1.對(duì)數(shù)坐標(biāo)圖形對(duì)數(shù)坐標(biāo)圖形由semilogx、semilogy和loglog命令實(shí)現(xiàn)。語(yǔ)法:semilogx(x,y,'參數(shù)') %繪制x為對(duì)數(shù)坐標(biāo)的曲線semilogy
41、(x,y,'參數(shù)') %繪制y為對(duì)數(shù)坐標(biāo)的曲線loglog(x,y,'參數(shù)') %繪制x、y都為對(duì)數(shù)坐標(biāo)的曲線,,4.2.6 對(duì)數(shù)坐標(biāo)和極坐標(biāo)圖,【例4.17】 求傳遞函數(shù)為 的對(duì)數(shù)幅頻特性曲線,如圖4.20所示,橫坐標(biāo)為w,是對(duì)數(shù)坐標(biāo)。,,4.2.6 對(duì)數(shù)坐標(biāo)和極坐標(biāo)圖,>> w=logspace(?2,3,20); %頻率w為0.01~1 000&g
42、t;> Aw=1./(w.*sqrt((0.5*w).^2+1)); %計(jì)算幅頻>> Lw=20*log10(Aw); %計(jì)算對(duì)數(shù)幅頻>> semilogx(w,Lw)>> title('對(duì)數(shù)幅頻特性曲線'),,4.2.6 對(duì)數(shù)坐標(biāo)和極坐標(biāo)圖,2.極坐標(biāo)圖極坐標(biāo)圖由polar命令實(shí)現(xiàn)。語(yǔ)法:polar(theta,radius,'參數(shù)'
43、) %繪制極坐標(biāo)圖【例4.17續(xù)】 用極坐標(biāo)圖表示r=2sinθ,θ在-?~?之間,如圖4.21所示。>> theta=-pi:0.01:pi;>> r=2*sin(5*theta).^2;>> polar(theta,r),,4.2.7 等高線圖,使用meshc和surfc命令可以繪制帶有等高線的三維網(wǎng)線和曲面圖,另外還可以使用contour和contour3命令直接繪制等高線。
44、語(yǔ)法:contour(Z,n) %繪制Z矩陣的等高線contour(x,y,z,n) %繪制以x和y指定x、y坐標(biāo)的等高線【例4.18】 繪制peaks函數(shù)的等高線,如圖4.22所示。>> [x,y,z]=peaks;>> contour(x,y,z) %畫(huà)二維等高線>> contour3(z,30) %畫(huà)30條三維等高線,4.2.8 復(fù)向量圖,1.com
45、pass命令compass命令繪制的是以原點(diǎn)為起點(diǎn)的1組復(fù)向量,又稱為羅盤(pán)圖。語(yǔ)法:compass(u,v) %畫(huà)羅盤(pán)圖compass(z) 2.feather命令feather命令繪制的是起點(diǎn)為(k,0)的復(fù)向量圖,又稱為羽毛圖。語(yǔ)法:feather(u,v) %畫(huà)羽毛圖feather (Z),,4.2.8 復(fù)向量圖,【例4.19】 用羅盤(pán)圖和羽毛圖繪制復(fù)向量,如圖4.23所示。>&
46、gt; theta=0:0.2:2*pi;>> z=sin(theta).*exp(j*theta);>> compass(z)>> feather(z),,4 . 3 MATLAB的三維圖形繪制,4.3.1 繪制三維線圖命令語(yǔ)法:plot3(x,y,z, 's') %繪制三維曲線plot3(x1,y1,z1, 's1',x2,y2,z2, &
47、#39;s2',…) %繪制多條三維曲線【例4.20】 三維曲線繪圖,如圖4.24所示。>> x=0:0.1:20*pi;>> plot3(x,sin(x),cos(x)) %按系統(tǒng)默認(rèn)設(shè)置繪圖,,4.3.2 繪制三維網(wǎng)線圖和曲面圖,1.meshgrid命令meshgrid命令以x、y向量為基準(zhǔn),產(chǎn)生在x?y平面的各柵格點(diǎn)坐標(biāo)值的矩陣。語(yǔ)法:[X,Y]=meshgrid(x,
48、y) 例如,將x(1?m)向量和y(1?n)向量轉(zhuǎn)換為(n?m)的矩陣:>> x=[1 2 3 4];>> y=[5 6 7];>> [xx,yy]=meshgrid(x,y)xx = 1 2 3 4 1 2 3 4 1 2 3 4yy = 5 5 5
49、5 6 6 6 6 7 7 7 7,,4.3.2 繪制三維網(wǎng)線圖和曲面圖,2.三維網(wǎng)線圖語(yǔ)法:mesh(z) %畫(huà)三維網(wǎng)線圖mesh(x,y,z,c) 【例4.20續(xù)】 用mesh查看peaks函數(shù)的三維網(wǎng)線圖,如圖4.25所示。>> mesh(xx,yy,zz),,4.3.2 繪制三維網(wǎng)線圖和曲面圖,3.三維曲面圖語(yǔ)法:su
50、rf (z) %畫(huà)三維曲面圖surf (x,y, z,c) 【例4.20續(xù)】 用surf查看peaks函數(shù)的三維曲面圖,如圖4.26所示。>> surf (xx,yy,zz),,4.3.2 繪制三維網(wǎng)線圖和曲面圖,4.其他立體網(wǎng)線圖和曲面圖立體網(wǎng)線圖mesh命令還有幾種格式,如meshc命令為立體網(wǎng)狀圖加等高線;meshz為立體網(wǎng)狀圖加“圍裙”?!纠?.20續(xù)】 用meshz和meshc觀察pe
51、aks函數(shù)的三維曲面圖,如圖4.27所示。>> meshz(xx,yy,zz)>> meshc(xx,yy,zz),4.3.3 立體圖形與圖軸的控制,1.網(wǎng)格的隱藏默認(rèn)方式下,MATLAB在繪制圖形時(shí)前面的圖形會(huì)遮蓋后面的圖形,即后面的網(wǎng)格會(huì)隱藏。如果要使被遮蓋的網(wǎng)格也能呈現(xiàn)出來(lái),可用“hidden off”命令,隱藏則使用“hidden on”命令。2.改變視角立體圖形的觀測(cè)角度是由方位角和俯仰角決
52、定的,與x平面所成的夾角稱為方位角(Azimuth),與z平面所成的夾角稱為俯仰角(Elevation)。二維圖形時(shí),系統(tǒng)默認(rèn)方位角?0°,俯仰角?90°;三維圖形時(shí),系統(tǒng)默認(rèn)方位角? ?37.5°,俯仰角=30°。若對(duì)三維圖形的觀測(cè)角度不同,則顯示也不同,如果要改變觀測(cè)角度,可用“view”命令。 語(yǔ)法:view([az,el]) %通過(guò)方位角和俯仰角改變視角view([vx,
53、vy,vz]) %通過(guò)直角坐標(biāo)改變視角,,4.3.3 立體圖形與圖軸的控制,【例4.21】 顯示peaks函數(shù)的網(wǎng)線,并改變?cè)摵瘮?shù)的視角,如圖4.28所示。>> [x,y,z]=peaks; %peaks函數(shù)>> mesh(x,y,z) %繪制曲面圖>> hidden off %顯示網(wǎng)格>> view(0,0)>> view(0,
54、90)>> view(?37.5,30) %恢復(fù)原視角,,4.3.3 立體圖形與圖軸的控制,3.曲面的鏤空【例4.21續(xù)】 對(duì)peaks函數(shù)曲面實(shí)現(xiàn)鏤空效果,如圖4.29所示。>> z(10:20,10:20)=nan; %將一部分?jǐn)?shù)值用nan替換>> surf(x,y,z) %畫(huà)曲面圖,4.3.4 色彩的控制,1.色圖(colormap)(1)RGB三元組。
55、RGB三元行數(shù)組表示1種色彩,數(shù)組元素R、G、B的值在0~1之間,分別表示紅、綠、藍(lán)基色的相對(duì)亮度。通過(guò)三色的設(shè)置可以調(diào)制出不同顏色,如 表4.8所示。,4.3.4 色彩的控制,(2)預(yù)定義色圖函數(shù)。MATLAB系統(tǒng)提供了現(xiàn)成的可以預(yù)定義色圖的函數(shù),如表4.9所示為預(yù)定義色圖的函數(shù)表。,,4.3.4 色彩的控制,【例4.21續(xù)】 查看暖色色圖。>> colormap hot(8) %產(chǎn)生暖色peaks函
56、數(shù)曲面>> colormap ans = 0.3333 0 0 0.6667 0 0 1.0000 0 0 1.0000 0.3333 0 1.0000 0.6667 0 1.0000 1.0000 0 1
57、.0000 1.0000 0.5000 1.0000 1.0000 1.0000,,4.3.4 色彩的控制,2.色圖的顯示和處理可以利用colorbar命令顯示色圖。colorbar命令以不同顏色代表曲面的高度,并顯示1個(gè)水平或垂直的顏色標(biāo)尺?!纠?.22】 用colorbar命令顯示色圖,如圖4.30所示。>> peaks;>> colormap cool %
58、產(chǎn)生冷色peaks函數(shù)曲面>> colorbar %顯示顏色標(biāo)尺,4.3.4 色彩的控制,(2)濃淡處理shading。在前面的例子中,每一個(gè)曲面都可以視做由一塊塊的四方小片拼成,而且每一小片表面的顏色是均勻一致的,其顏色值由小片所在的曲面高度決定。如果要使小片表面的顏色產(chǎn)生連續(xù)性的變化,則可使用shading命令。shading命令的用法如表4.10所示。,,4.3.4 色彩的控制,【例4.23】 使用sh
59、ading命令的interp和faceted方式進(jìn)行濃淡處理的peaks函數(shù)曲面圖,如圖4.31所示。>> subplot(1,2,1)>> peaks;>> shading interp>> subplot(1,2,2)>> peaks;>> shading faceted,4.3.4 色彩的控制,(3)亮度處理brighten??梢杂胋righte
60、n命令使色圖變亮或變暗。語(yǔ)法:brighten(a),4 . 4 圖形繪制工具,在MATLAB的命令窗口中輸入“plottools”,就可以打開(kāi)圖形窗口,如圖4.32所示。,4 . 4 圖形繪制工具,當(dāng)選擇圖形中的坐標(biāo)軸時(shí),就會(huì)出現(xiàn)如圖4.33所示的坐標(biāo)軸屬性面板,可用于設(shè)置標(biāo)題、坐標(biāo)刻度和坐標(biāo)軸標(biāo)簽等。,4 . 4 圖形繪制工具,當(dāng)選擇圖形中的曲線時(shí),就出現(xiàn)如圖4.34所示的線型屬性面板,可用于設(shè)置線型、曲線類型和曲線點(diǎn)等。
61、,,4 . 5 對(duì)話框,1.“輸入?yún)?shù)”對(duì)話框使用inputdlg命令創(chuàng)建“輸入?yún)?shù)”對(duì)話框,該對(duì)話框?yàn)橛脩籼峁┝溯斎胄畔⒌慕缑??!拜斎雲(yún)?shù)”對(duì)話框中有2個(gè)按鈕,分別為“OK”和“Cancel”。語(yǔ)法:answer = inputdlg(prompt,title,lineno,defans,addopts) %創(chuàng)建“輸入?yún)?shù)”對(duì)話框【例4.24】 利用“輸入?yún)?shù)”對(duì)話框輸入二階系統(tǒng)的系數(shù),如圖4.35所示。>>
62、; prompt={'請(qǐng)輸入阻尼系數(shù)','請(qǐng)輸入無(wú)阻尼振蕩頻率'};>> defans={'0.707','1'};>> p=inputdlg(prompt,'輸入?yún)?shù)',1,defans),,4 . 5 對(duì)話框,2.輸出信息對(duì)話框MATLAB提供了幾種專用的對(duì)話框,用于顯示不同的輸出信息。(1)消息框msgbox。消息框是
63、用來(lái)顯示輸出信息的,有1個(gè)“OK”按鈕。語(yǔ)法:msgbox(message,title,icon,icondata,iconcmap,CreateMode) %創(chuàng)建消息框【例4.24續(xù)】 使用消息框顯示當(dāng)阻尼系數(shù)大于1時(shí)的警告信息,如圖4.36所示。>> msgbox('阻尼系數(shù)輸入范圍出錯(cuò)','警告','warn'),4 . 5 對(duì)話框,(2)其他輸出對(duì)話框。
64、MATLAB還提供了專門(mén)的對(duì)話框,包括警告對(duì)話框,錯(cuò)誤提示對(duì)話框,幫助對(duì)話框和提問(wèn)對(duì)話框,如表4.11所示提供了對(duì)話框語(yǔ)法、例句和圖形窗口。,,4 . 5 對(duì)話框,3.文件管理對(duì)話框(1)打開(kāi)文件對(duì)話框uigetfile命令。uigetfile命令用于提供“打開(kāi)文件”對(duì)話框,可以選擇文件類型和路徑。語(yǔ)法:[FileName, PathName] = uigetfile(FiltrEspec, Title,x,y)【例4.25】
65、 利用“打開(kāi)文件”對(duì)話框選擇MATLAB目錄下的文件license.txt,如 圖4.37所示。>> [fname,pname]=uigetfile('*.*','打開(kāi)文件',100,100)fname =license.txtpname =D:\MATLAB6p1\,,4 . 5 對(duì)話框,(2)“保存文件”對(duì)話框uiputfile命令。uiputfile命令用于提供“
66、保存文件”對(duì)話框,可以選擇文件類型和路徑。語(yǔ)法:[FileName, PathName] = uiputfile(FiltrEspec, Title,x,y)【例4.25續(xù)】 利用“保存文件”對(duì)話框選擇文件。>> [fname1,pname1]=uiputfile('Ex0431.mat','保存文件'),4 . 6 句柄圖形,4.6.1 句柄圖形體系句柄圖形體系由若干個(gè)圖形對(duì)
67、象組成,如圖4.38所示。,4.6.2 圖形對(duì)象的操作,1.圖形對(duì)象的創(chuàng)建每次創(chuàng)建1個(gè)對(duì)象時(shí),MATLAB為該對(duì)象建立1個(gè)唯一的句柄。除了根屏幕外,所有的圖形對(duì)象都由與之同名的命令創(chuàng)建,每個(gè)命令的格式及功能如表4.12所示。,,4.6.2 圖形對(duì)象的操作,2.創(chuàng)建對(duì)象時(shí)設(shè)置屬性【例4.26】 創(chuàng)建圖形對(duì)象。>> h_fig=figure('color','red','men
68、ubar','none','position',[0,0,300,300])h_fig = 1或者使用結(jié)構(gòu)數(shù)組創(chuàng)建圖形對(duì)象:>> ps.color='red';>> ps.position=[0,0,300,300];>> ps.menubar='none';>> h_fig=figure(ps)
69、h_fig = 1程序分析:創(chuàng)建1個(gè)窗口,背景為紅色,沒(méi)有菜單條,在屏幕的(0,0)位置,寬度、高度為300。,,4.6.2 圖形對(duì)象的操作,3.對(duì)象句柄的獲取對(duì)象句柄的獲取有以下3種方法。(1)當(dāng)前對(duì)象句柄的獲取。MATLAB提供了3個(gè)獲取當(dāng)前對(duì)象句柄的命令,分別是gcf、gca、gco。語(yǔ)法:gcf %獲取當(dāng)前圖形窗口句柄gca %獲取當(dāng)前坐標(biāo)軸句柄gco %獲取被鼠標(biāo)最
70、近單擊的對(duì)象的句柄【例4.27】 使用命令獲取圖形對(duì)象的句柄,如圖4.39所示。,4.6.2 圖形對(duì)象的操作,>> x=0:0.1:2*pi;>> y=sin(x).*exp(?x);>> plot(x,y)>> text(pi,0,'\leftarrowexp(?x)*sin(x)=0')>> h_fig=gcf %獲取圖形窗口的句柄h
71、_fig = 1>> h_axes=gca %獲取坐標(biāo)軸的句柄h_axes = 100.0013>> h_obj=gco %獲取最近單擊的對(duì)象的句柄h_obj = 3.0017,,4.6.2 圖形對(duì)象的操作,(2)查找對(duì)象。用命令 findobj可以快速查找所有對(duì)象,以及獲取指定屬性值的對(duì)象句柄。語(yǔ)法:h=findobj %返回根對(duì)象和所有子對(duì)象的句柄
72、h=findobj(h_obj) %返回指定對(duì)象的句柄h=findobj('PropertyName',PropertyValue)%返回符合指定屬性值的對(duì)象句柄h=findobj(h_obj, 'PropertyName', PropertyValue)%在指定對(duì)象及子對(duì)象中查找符合指定屬性值的對(duì)象句柄【例4.27續(xù)】 使用findobj命令獲取圖4.39中圖形對(duì)象的句柄。>
73、;> findobj %返回根對(duì)象和所有子對(duì)象的句柄ans = 0 1.0000 100.0013 101.0038 3.0017>> h_text=findobj(h_fig,'string','\leftarrowexp(?x)*sin(x)=0') %查找符合屬性值的文字對(duì)象句柄h_text = 101.0038,,4
74、.6.2 圖形對(duì)象的操作,4.用get函數(shù)獲取屬性值get函數(shù)用于獲取指定對(duì)象的屬性值。語(yǔ)法:get(h_obj) %獲取句柄對(duì)象所有屬性的當(dāng)前值get(h_obj, 'PropertyName') %獲取句柄對(duì)象指定屬性的當(dāng)前值【例4.27續(xù)】 獲取圖形對(duì)象屬性。>> p=get(h_fig,'position')p = 0 0 300
75、 300>> c=get(h_fig,'color')c = 1 0 0,4.6.2 圖形對(duì)象的操作,5.用set函數(shù)設(shè)置屬性值set函數(shù)用來(lái)設(shè)置對(duì)象的屬性值。語(yǔ)法:set(h_obj) %顯示句柄對(duì)象所有屬性和屬性值set(h_obj, 'PropertyName') %顯示句柄對(duì)象指定屬性名的屬性值set(h_obj, '
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第4章-matlab計(jì)算的可視化和gui設(shè)計(jì)
- 第四章 matlab計(jì)算的可視化
- matlab 特殊圖形和高維可視化
- 計(jì)算機(jī)仿真和可視化設(shè)計(jì)
- matlab課程設(shè)計(jì)---惡狼追兔的可視化問(wèn)題
- 科學(xué)計(jì)算可視化報(bào)告
- 基于mvvm模式的嵌入式gui可視化設(shè)計(jì)器的設(shè)計(jì)與實(shí)現(xiàn)
- 基于MATLAB的高等數(shù)學(xué)可視化系統(tǒng).pdf
- 基于matlab的可視化界面制作說(shuō)明書(shū)
- 基于Matlab分布式計(jì)算工具箱的流場(chǎng)計(jì)算及可視化.pdf
- 基于matlab軟件的電磁場(chǎng)的可視化研究
- MEMS計(jì)算可視化研究.pdf
- 計(jì)算機(jī)可視化編程
- 數(shù)據(jù)和函數(shù)的可視化
- 數(shù)據(jù)和函數(shù)的可視化
- 基于MVVM模式的嵌入式GUI可視化設(shè)計(jì)器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 數(shù)字電視接收機(jī)可視化GUI集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)和實(shí)現(xiàn).pdf
- 基于MATLAB的剪切型框架可視化健康監(jiān)測(cè)研究.pdf
- 基于MATLAB的可視化圖像質(zhì)量評(píng)價(jià)系統(tǒng)研究.pdf
- 快遞系統(tǒng)碳足跡計(jì)算分析與可視化設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論