Matlab基礎(chǔ)第四章_第1頁
Matlab基礎(chǔ)第四章_第2頁
Matlab基礎(chǔ)第四章_第3頁
Matlab基礎(chǔ)第四章_第4頁
Matlab基礎(chǔ)第四章_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、4.1二維曲線的繪制二維曲線的繪制4.1.1基本繪圖命令基本繪圖命令plot1. plot(x) 繪制繪制x向量曲線向量曲線功能:功能: 繪制以x為縱坐標(biāo)的二維曲線,橫坐標(biāo)由MATLAB根據(jù)x向量的元素序號(hào)自動(dòng)生成從1開始的向量。 2. plot(x,y) 繪制向量繪制向量x和和y的曲線的曲線3. plot(x) 繪制繪制矩陣矩陣x的曲線的曲線注意:以注意:以每列向量為縱坐標(biāo)畫一條曲線,橫坐標(biāo)自動(dòng)生成。每列向量為縱坐標(biāo)畫一條曲線,橫坐標(biāo)自動(dòng)生成。第第4章章 MATLAB計(jì)算的可視化和計(jì)算的可視化和GUI設(shè)計(jì)設(shè)計(jì)4. plot(x,y)繪制混合式曲線繪制混合式曲線當(dāng)plot(x,y)命令中的參數(shù)

2、x和y是向量或矩陣時(shí),分別有以下幾種情況:(1)如果如果x是向量,而是向量,而y是矩陣是矩陣,則x的長度與矩陣y的行數(shù)或列數(shù)必須相等,如果x的長度與y的行數(shù)相等,則向量x與矩陣y的每列向量對應(yīng)畫一條曲線;如果x的長度與y的列數(shù)相等,向量x與y的每行向量畫一條曲線,如果y是方陣,則x和y的行數(shù)和列數(shù)都相等,將向量x與矩陣y的每列每列向量畫一條曲線;(2)如果如果x是矩陣,而是矩陣,而y是向量是向量,則y的長度必須等于x的行數(shù)或列數(shù),繪制的方法與前一種相似;(3)如果如果x和和y都是矩陣都是矩陣,則大小必須相同,矩陣x的每每列列和y的每列每列畫一條曲線。4.1二維曲線的繪制5. plot(z)繪制

3、復(fù)向量曲線繪制復(fù)向量曲線 z1=x2+i*y1 plot(z1) %以實(shí)部為橫坐標(biāo),虛部為縱坐標(biāo)以實(shí)部為橫坐標(biāo),虛部為縱坐標(biāo) 6. plot(x1,y1,x2,y2,)繪制多條曲線繪制多條曲線plot命令還可以同時(shí)繪制多條曲線,用多個(gè)矩陣對為參數(shù),MATLAB自動(dòng)以不同的顏色繪制自動(dòng)以不同的顏色繪制不同曲線?!纠坷L制三條曲線,如圖【例】繪制三條曲線,如圖4.5所所示。示。x=0:0.1:2*pi;plot(x,sin(x),x,cos(x),x,sin(3*x) %畫三條曲線畫三條曲線圖圖4.5 三條曲線三條曲線4.1二維曲線的繪制4.1.2 繪制曲線的一般步驟繪制曲線的一般步驟 表表4.1

4、繪制二維、三維圖形的一般步驟繪制二維、三維圖形的一般步驟 步驟步驟內(nèi)容內(nèi)容 1曲線數(shù)據(jù)準(zhǔn)備:曲線數(shù)據(jù)準(zhǔn)備:對于二維曲線,橫坐標(biāo)和縱坐標(biāo)數(shù)據(jù)變量;對于二維曲線,橫坐標(biāo)和縱坐標(biāo)數(shù)據(jù)變量;對于三維曲面,矩陣參變量和對應(yīng)的函數(shù)值。對于三維曲面,矩陣參變量和對應(yīng)的函數(shù)值。 2 指定圖形窗口和子圖位置:指定圖形窗口和子圖位置:默認(rèn)時(shí),打開默認(rèn)時(shí),打開Figure No.1窗口或當(dāng)前窗口、當(dāng)前子圖;窗口或當(dāng)前窗口、當(dāng)前子圖;也可以打開指定的圖形窗口和子圖。也可以打開指定的圖形窗口和子圖。 3設(shè)置曲線的繪制方式:設(shè)置曲線的繪制方式:線型、色彩、數(shù)據(jù)點(diǎn)形。線型、色彩、數(shù)據(jù)點(diǎn)形。 4 設(shè)置坐標(biāo)軸:設(shè)置坐標(biāo)軸:坐標(biāo)

5、的范圍、刻度和坐標(biāo)分格線坐標(biāo)的范圍、刻度和坐標(biāo)分格線 5 圖形注釋:圖形注釋:圖名、坐標(biāo)名、圖例、文字說明圖名、坐標(biāo)名、圖例、文字說明1. 指定圖形窗口指定圖形窗口 figure(n) %產(chǎn)生新圖形窗口說明:說明:如果該窗口不存在,則產(chǎn)生新圖形窗口并設(shè)置為當(dāng)前圖形窗口,該窗口名為“Figure No.n”,而不關(guān)閉其它窗口。2. 同一窗口多個(gè)子圖同一窗口多個(gè)子圖 subplot(m,n,k) %使(mn)幅子圖中的第k幅成為當(dāng)前圖說明:說明:將圖形窗口劃分為mn幅子圖,k是當(dāng)前子圖的編號(hào),“,”可以省略可以省略。子圖的序號(hào)編排原則是:左上方為第左上方為第1幅,幅,先向先向右后向下右后向下依次排

6、列,子圖彼此之間獨(dú)立。依次排列,子圖彼此之間獨(dú)立。4.1.3 多個(gè)圖形繪制的方法多個(gè)圖形繪制的方法clf %清除所有子圖清除所有子圖3. 同一窗口多次疊繪同一窗口多次疊繪語法:語法:hold on %使當(dāng)前坐標(biāo)系和圖形保留 hold off %使當(dāng)前坐標(biāo)系和圖形不保留 hold %在以上兩個(gè)命令中切換4. 雙縱坐標(biāo)圖雙縱坐標(biāo)圖語法:語法:plotyy(x1,y1,x2,y2) %以左、右不同縱軸繪制兩條曲線說明:說明:左縱軸用于(x1,y1)數(shù)據(jù),右縱軸用于(x2,y2)數(shù)據(jù)來繪制兩條曲線。它會(huì)自動(dòng)以不同顏色繪制兩條曲線。4.1.3多個(gè)圖形繪制的方法多個(gè)圖形繪制的方法4.1.4 曲線的線型、顏

7、色和數(shù)據(jù)點(diǎn)形曲線的線型、顏色和數(shù)據(jù)點(diǎn)形顏色顏色數(shù)據(jù)點(diǎn)間連線數(shù)據(jù)點(diǎn)間連線數(shù)據(jù)點(diǎn)形數(shù)據(jù)點(diǎn)形類型類型符號(hào)符號(hào)類型類型符號(hào)符號(hào)類型類型符號(hào)符號(hào)黃色黃色品紅色品紅色(紫色紫色)青色青色紅色紅色綠色綠色藍(lán)色藍(lán)色白色白色黑色黑色y(Yellow)m(Magenta)c(Cyan)r(Red)g(Green)b(Blue)w(White)k(Black)實(shí) 線實(shí) 線 ( 默默認(rèn)認(rèn))點(diǎn)線點(diǎn)線點(diǎn)劃線點(diǎn)劃線虛線虛線-:-.-實(shí)點(diǎn)標(biāo)記實(shí)點(diǎn)標(biāo)記圓圈標(biāo)記圓圈標(biāo)記叉號(hào)形叉號(hào)形十字形十字形星號(hào)標(biāo)記星號(hào)標(biāo)記方塊標(biāo)記方塊標(biāo)記鉆石形標(biāo)記鉆石形標(biāo)記向下的三角形標(biāo)記向下的三角形標(biāo)記向上的三角形標(biāo)記向上的三角形標(biāo)記向左的三角形標(biāo)記向左的

8、三角形標(biāo)記向右的三角形標(biāo)記向右的三角形標(biāo)記五角星標(biāo)記五角星標(biāo)記六連形標(biāo)記六連形標(biāo)記.ox+*sdvph表表4.2 線段、顏色與數(shù)據(jù)點(diǎn)形線段、顏色與數(shù)據(jù)點(diǎn)形語法:語法: plot(x,y,s)說明:說明:s為類型說明為類型說明字符串參數(shù)字符串參數(shù);s字符串可以是線段類型、顏色和數(shù)據(jù)點(diǎn)形字符串可以是線段類型、顏色和數(shù)據(jù)點(diǎn)形三種類型的符號(hào)之一,也可以是三種類型符號(hào)的組合。三種類型的符號(hào)之一,也可以是三種類型符號(hào)的組合。 【例】用不同線段類型、顏色和數(shù)據(jù)例】用不同線段類型、顏色和數(shù)據(jù)點(diǎn)形畫出點(diǎn)形畫出sinx和cosx曲線,如圖所示。 x=0:0.1:2*pi; plot(x,sin(x),r-.) %

9、用紅色點(diǎn)劃線畫出曲線用紅色點(diǎn)劃線畫出曲線 hold on plot(x,cos(x),b:o) %用藍(lán)色圓圈畫出曲線,用點(diǎn)線連接用藍(lán)色圓圈畫出曲線,用點(diǎn)線連接 4.1.4曲線的線型、顏色和數(shù)據(jù)點(diǎn)形曲線的線型、顏色和數(shù)據(jù)點(diǎn)形-1. 坐標(biāo)軸的控制坐標(biāo)軸的控制(axis命令命令)4.1.5設(shè)置坐標(biāo)軸和文字標(biāo)注設(shè)置坐標(biāo)軸和文字標(biāo)注表表4.3常用的坐標(biāo)控制命令常用的坐標(biāo)控制命令命令命令含義含義命令命令含義含義axis auto使用默認(rèn)設(shè)置使用默認(rèn)設(shè)置axis equal縱、橫軸采用等長刻度縱、橫軸采用等長刻度axis manual使當(dāng)前坐標(biāo)范圍不變使當(dāng)前坐標(biāo)范圍不變axis fill在在manual方式

10、下起作用,方式下起作用,使坐標(biāo)充滿整個(gè)繪圖區(qū)使坐標(biāo)充滿整個(gè)繪圖區(qū)axis off取消軸背景取消軸背景axis image縱、橫軸采用等長刻度,且縱、橫軸采用等長刻度,且坐標(biāo)框緊貼數(shù)據(jù)范圍坐標(biāo)框緊貼數(shù)據(jù)范圍axis on使用軸背景使用軸背景axis normal默認(rèn)矩形坐標(biāo)系默認(rèn)矩形坐標(biāo)系axis ij矩陣式坐標(biāo),原點(diǎn)在左上矩陣式坐標(biāo),原點(diǎn)在左上方方Axis square產(chǎn)生正方形坐標(biāo)系產(chǎn)生正方形坐標(biāo)系axis xy普通直角坐標(biāo),原點(diǎn)在左普通直角坐標(biāo),原點(diǎn)在左下方下方axis tight把數(shù)據(jù)范圍直接設(shè)為坐標(biāo)范把數(shù)據(jù)范圍直接設(shè)為坐標(biāo)范圍圍axis(xmin,xmax,ymin,ymax)設(shè)定坐標(biāo)

11、范圍,必須滿足設(shè)定坐標(biāo)范圍,必須滿足xminxmax,yminymax,可以取可以取inf或或-inf。axis vis3d保持高寬比不變,用于三維保持高寬比不變,用于三維旋轉(zhuǎn)時(shí)避免圖形大小變化旋轉(zhuǎn)時(shí)避免圖形大小變化2. 分格線和坐標(biāo)框分格線和坐標(biāo)框(1) 使用使用grid命令顯示分格線命令顯示分格線語法:語法: grid on%顯示分格線 grid off%不顯示分格線 grid%在以上兩個(gè)命令間切換說明:不顯示分格線是說明:不顯示分格線是MATLAB的默認(rèn)設(shè)置。 (2) 使用使用box命令顯示坐標(biāo)框命令顯示坐標(biāo)框語法:語法: box on%使當(dāng)前坐標(biāo)框呈封閉形式 box off%使當(dāng)前坐標(biāo)

12、框呈開啟形式 box %在以上兩個(gè)命令間切換說明:在默認(rèn)情況下,所畫的坐標(biāo)框呈封閉形式。說明:在默認(rèn)情況下,所畫的坐標(biāo)框呈封閉形式。4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注設(shè)置坐標(biāo)軸和文字標(biāo)注【例】在兩個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控制,如圖例】在兩個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控制,如圖4.9所示。 x=0:0.1:2*pi; subplot(2,1,1) plot(sin(x),cos(x) axis equal %縱、橫軸采用等長刻度縱、橫軸采用等長刻度 grid on %加分格線加分格線 subplot(2,1,2) plot(x,exp(-x) axis(0,3,0,2) %改變坐標(biāo)

13、軸范圍改變坐標(biāo)軸范圍 4.1.5 設(shè)置坐標(biāo)軸和文字標(biāo)注設(shè)置坐標(biāo)軸和文字標(biāo)注(1) 添加圖名添加圖名語法:語法: title(s)%書寫圖名說明:說明:s是圖名,為字符串,可以是英文或中文。(2) 添加坐標(biāo)軸名添加坐標(biāo)軸名語法:語法:xlabel(s) %橫坐標(biāo)軸名 ylabel(s) %縱坐標(biāo)軸名(3) 添加圖例添加圖例語法:語法: legend(s,pos) %在指定位置建立圖例 legend off %擦除當(dāng)前圖中的圖例說明:參數(shù)說明:參數(shù)s是圖例中的文字注釋,如果多個(gè)注釋則可以用s1,s2,的方式;參數(shù)pos是圖例在圖上位置的指定符,它的取值如下表所示。用用legend命令產(chǎn)生圖例后,也

14、可用鼠標(biāo)對其進(jìn)行拖拉操作,將圖例拖命令產(chǎn)生圖例后,也可用鼠標(biāo)對其進(jìn)行拖拉操作,將圖例拖到滿意的位置。到滿意的位置。 pos取值取值012341圖例位置圖例位置自動(dòng)取最佳位自動(dòng)取最佳位置置右上角右上角(默認(rèn)默認(rèn))左上角左上角左下角左下角右下角右下角圖右側(cè)圖右側(cè)3. 文字標(biāo)注文字標(biāo)注4.1.5設(shè)置坐標(biāo)軸和文字標(biāo)注設(shè)置坐標(biāo)軸和文字標(biāo)注(4) 添加文字注釋添加文字注釋語法:語法:text(xt, yt, s) %在圖形的(xt,yt)坐標(biāo)處書寫文字注釋【例】在圖形窗口中添加文字注釋,如圖所示?!纠吭趫D形窗口中添加文字注釋,如圖所示。 x=0:0.1:2*pi; plot(x,sin(x) hold

15、on plot(x,cos(x),ro) title(y1=sin(x),y2=cos(x) %添加標(biāo)題添加標(biāo)題 xlabel(x) %添加橫坐標(biāo)名添加橫坐標(biāo)名 legend(sin(x),cos(x),4) %在右下角添加圖例在右下角添加圖例 text(pi,sin(pi),x=pi) %在在pi,sin(pi)處添加文字注釋處添加文字注釋 特殊字符見特殊字符見P128表表4.5.如果需要對文字進(jìn)行上下標(biāo)設(shè)置,或設(shè)置字體大小上下標(biāo)設(shè)置,或設(shè)置字體大小,則必須在文字標(biāo)識(shí)前先使用表4.6中所示的設(shè)置值。 表表4.6文字設(shè)置文字設(shè)置命令命令含義含義fontnames字體的名稱,字體的名稱,s為為T

16、imes New Roman 、Courier、宋體等。、宋體等。fontsizen字號(hào)大小,字號(hào)大小,n為正整數(shù),默認(rèn)為為正整數(shù),默認(rèn)為10(points)。s字體風(fēng)格,字體風(fēng)格,s可以為可以為bf(黑體黑體)、it(斜體一斜體一)、sl(斜體二斜體二)、rm(正正體體)等。等。s將將s變?yōu)樯蠘?biāo)變?yōu)樯蠘?biāo)_s將將s變?yōu)橄聵?biāo)變?yōu)橄聵?biāo)【例】例】在圖形窗口中寫出標(biāo)題為 ,字體大小為16號(hào)。figure(1)title(fontsize16y(omega)=intinfty_0y(t)e-jomegatdt) dty(t)e)y(0tj(5)文字設(shè)置)文字設(shè)置1. ginput命令命令-從圖上獲取數(shù)據(jù)

17、從圖上獲取數(shù)據(jù)。語法:語法: x,y=ginput(n) %用鼠標(biāo)從圖形上獲取n個(gè)點(diǎn)的坐標(biāo)(x,y)2. gtext命令命令-把字符串放置到圖形中鼠標(biāo)所指定的位置把字符串放置到圖形中鼠標(biāo)所指定的位置。語法:語法: gtext(s) %用鼠標(biāo)把字符串放置到圖形上說明:若說明:若s是多行字符串矩陣,那么每操作一次鼠標(biāo),只能放置一是多行字符串矩陣,那么每操作一次鼠標(biāo),只能放置一行字符串行字符串。 例例:x=0:0.1:2*pi; plot(x,sin(x) m,n=ginput(2) %用鼠標(biāo)從圖形上取兩點(diǎn)坐標(biāo) gtext(2pi) %在鼠標(biāo)指定位置上寫24.1.6 交互式圖形命令交互式圖形命令1.

18、繪制三維線圖命令繪制三維線圖命令plot3語法語法: plot3(x,y,z, s) %繪制三維曲線 plot3(x1,y1,z1, s1,x2,y2,z2, s2,) %繪制多條三維曲線說明:當(dāng)說明:當(dāng)x、y、z是同維向量時(shí),則繪制以x、y、z元素為坐標(biāo)的三維曲線;當(dāng)x、y、z是同維矩陣時(shí),則繪制三維曲線的條數(shù)等于矩陣的列數(shù)列數(shù)。s是指定線型、色彩、數(shù)據(jù)點(diǎn)形的字符串線型、色彩、數(shù)據(jù)點(diǎn)形的字符串?!纠?x=0:0.1:20*pi; plot3(x,sin(x),cos(x) %按系統(tǒng)默認(rèn)設(shè)置繪圖按系統(tǒng)默認(rèn)設(shè)置繪圖 4.2 MATLAB的三維圖形繪制4.3 對數(shù)坐標(biāo)和極坐標(biāo)圖對數(shù)坐標(biāo)和極坐標(biāo)

19、圖1. 對數(shù)坐標(biāo)圖形對數(shù)坐標(biāo)圖形語法:語法:semilogx(x,y,參數(shù)參數(shù)) %繪制x為對數(shù)坐標(biāo)的曲線 semilogy(x,y,參數(shù)參數(shù)) %繪制y為對數(shù)坐標(biāo)的曲線 loglog(x,y,參數(shù)參數(shù)) %繪制x、y都為對數(shù)坐標(biāo)的曲線【例】例】求傳遞函數(shù)為 的對數(shù)幅頻特性曲線,橫坐標(biāo)為w按對數(shù)坐標(biāo)。 程序清單:程序清單: w=logspace(-2,3,20); Aw=1./(w.*sqrt(0.5*w).2+1); Lw=20*log10(Aw); semilogx(w,Lw) title(對數(shù)幅頻特性曲線對數(shù)幅頻特性曲線) ) 1s5 . 0( s1) s (G語法:語法:polar(t

20、heta,radius,參數(shù)參數(shù)) %繪制極坐標(biāo)圖說明:說明:theta為相角即相頻特性,radius為離原點(diǎn)的距離,即幅頻特性。【例】用極坐標(biāo)圖表示傳遞函數(shù)例】用極坐標(biāo)圖表示傳遞函數(shù) 的的Nyquist曲線曲線 w=logspace(-2,3,20); Aw=1./(sqrt(0.5*w).2+1) Fw=-atan(0.5*w); polar(Fw,Aw) 2. 極坐標(biāo)圖極坐標(biāo)圖15 . 01)(ssG-1-0.8-0.6-0.4-0.200.20.40.60.81-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5Nyquist DiagramReal AxisIma

21、ginary Axis1工具欄工具欄2菜單菜單圖形窗口中的Edit和Insert菜單可以方便地編輯圖形,Edit和Insert菜單如圖下所示。添加箭頭添加箭頭添加直線添加直線添加文字添加文字圖形對象編輯圖形對象編輯放大放大縮小縮小三維圖形旋轉(zhuǎn)三維圖形旋轉(zhuǎn)4.4 圖形窗口的功能4.4圖形窗口的功能 圖圖 (a) Edit菜單菜單 (b) Insert菜單菜單 Edit菜單菜單:選擇“Figure Properties”、“Axes Properties”和“Current Object Properties”菜單項(xiàng),可以打開相應(yīng)的窗口來修改圖形屬性、坐標(biāo)軸屬性和對象屬性圖形屬性、坐標(biāo)軸屬性和對象

22、屬性。Insert菜單菜單:可以插入各種文字標(biāo)注、箭頭、坐標(biāo)軸文字標(biāo)注、箭頭、坐標(biāo)軸等。1. 輸入信息對話框的創(chuàng)建輸入信息對話框的創(chuàng)建answer = inputdlg(prompt,title,lineno,defans,addopts) 說明:說明:answer返回用戶的輸入,數(shù)據(jù)類型為元胞數(shù)組; prompt為元胞數(shù)組,元胞元素內(nèi)容為提示信息字符串,用引號(hào)引號(hào)括起來; title為標(biāo)題字符串,用引號(hào)括起來,可以省略; lineno用于指定輸入值的行數(shù),可以省略; defans為元胞數(shù)組,元胞元素內(nèi)容為輸入項(xiàng)的默認(rèn)值,用引號(hào)引號(hào)括起來; addopts指定對話框是否可以改變大小,取on或o

23、ff,省略時(shí)為off表示不能改變大小,為有模式有模式對話框(即在對話框關(guān)閉之前,用戶無法進(jìn)行其它程序的運(yùn)行),如果為on則可以改變大小,自動(dòng)變?yōu)闊o模式對話框。4.5 對話框【例】利用輸入對話框輸入二階系統(tǒng)的系數(shù)例】利用輸入對話框輸入二階系統(tǒng)的系數(shù)。 prompt=請輸入阻尼系數(shù)請輸入阻尼系數(shù),請輸入無阻尼振蕩頻率請輸入無阻尼振蕩頻率; defans=0.707,1; p=inputdlg(prompt,輸入?yún)?shù)輸入?yún)?shù),1,defans) 程序分析程序分析:prompt、defans和p都是元胞數(shù)組。如果單擊“Cancel”按鈕,則返回空的元胞數(shù)組。輸入對話框輸入對話框4.5對話框2. 輸出信

24、息對話框輸出信息對話框 (1) 消息框消息框語法:語法:msgbox(message,title,icon,icondata,iconcmap,CreateMode) 說明:說明:message為顯示的信息;title為標(biāo)題;icon為顯示的圖標(biāo),可取值為“none”(無圖標(biāo))、“error”(出錯(cuò)圖標(biāo))、“help”(幫助圖標(biāo))、“warn”(警告圖標(biāo))或“custom”(自定義圖標(biāo)),也可省略;當(dāng)使用當(dāng)使用“custom”時(shí),用時(shí),用icondata定義圖標(biāo)的數(shù)據(jù),用定義圖標(biāo)的數(shù)據(jù),用iconcmap定義圖標(biāo)定義圖標(biāo)的顏色的顏色;CreateMode為對話框的產(chǎn)生模式可省略,取值為“mod

25、al”(有模式)、“replace”(無模式可代替同名的對話框)、“non-modal”(默認(rèn)為無模式)。 如: msgbox(阻尼系數(shù)輸入范圍出錯(cuò)阻尼系數(shù)輸入范圍出錯(cuò),警告警告,warn) 程序分析程序分析:消息框消息框msgbox沒有返回值沒有返回值。圖圖4.36 消息框消息框4.5對話框4.5 對話框(2)警告對話框)警告對話框 語法:語法:warndlg(WarnString,DlgName,CreateMode)(3)出錯(cuò)提示對話框)出錯(cuò)提示對話框 語法:語法:errordlg(ErrorString,DlgName,CreateMode)(4) 幫助對話框幫助對話框 語法:語法:h

26、elpdlg(HelpString,DlgName)(5)提問對話框)提問對話框 語法語法: Button=questdlg(Question,Title,Btn1,Btn2,Btn3,DEFAULT)說明說明:Button為返回的用戶所按下的按鈕的名稱;Question為提出的問題,是字符串;Title為對話框的標(biāo)題,可省略;DEFAULT為按下回車鍵時(shí)默認(rèn)的按鈕,可省略;Btn1、Btn2和Btn3為按鈕的顯示標(biāo)注,可以有2個(gè)或3 個(gè)按鈕,當(dāng)全部省略時(shí)默認(rèn)為“Yes”、“No”和“Cancel”3個(gè)按鈕。幫助提示框幫助提示框提問提示框提問提示框4.5 對話框helpdlg(欠阻尼系數(shù)應(yīng)大于

27、欠阻尼系數(shù)應(yīng)大于0小于小于1,幫助幫助)button=questdlg(是否確認(rèn)?是否確認(rèn)?,Are you sure?,Yes,No,Yes)(1) 打開文件對話框打開文件對話框uigetfileFileName,PathName=uigetfile(FiltrEspec, Title,x,y)說明:說明:FileName和PathName分別為返回的文件名和路徑,可省略,如果按“取消”按鈕或發(fā)生錯(cuò)誤,都返回0;FiltrEspec指定初始時(shí)顯示的文件名,可以用通配符通配符“*”表示,當(dāng)省略時(shí),則自動(dòng)列出當(dāng)當(dāng)前路徑前路徑下的所有“*.m”文件和目錄;Title為對話框標(biāo)題,可省略;x、y分別

28、指定對話框在屏幕上的位置(到屏幕左上角的距離),單位是像素,可省略。例例: fname,pname=uigetfile(*.*,打開文件打開文件,100,100)程序分析程序分析:在屏幕的(100,100)位置顯示打開文件對話框,單擊“打開”按鈕,返回文件名和路徑名到fname和pname變量。注意:并沒有真正打開文件。注意:并沒有真正打開文件。(2) 保存文件對話框保存文件對話框uiputfile3. 文件管理對話框文件管理對話框4.6.1句柄圖形體系句柄圖形體系句柄圖形是一種面向?qū)ο蟮睦L圖系統(tǒng),又稱為低層圖形。句柄圖形是一種面向?qū)ο蟮睦L圖系統(tǒng),又稱為低層圖形。句柄圖形體系由若干個(gè)圖形對象組

29、成,如圖4.41所示。4.6.2 圖形對象的操作圖形對象的操作1圖形對象的創(chuàng)建圖形對象的創(chuàng)建Root(屏幕屏幕)Figure(圖圖)Uicontrol(界面控件界面控件)Axes(軸軸)Uimenu(界面菜單界面菜單)Line(線條線條)Surface(表面表面)Rectangle(矩形矩形)Patch(貼片貼片)Image(圖像圖像)Text(文字文字)Light(光源光源)圖圖4.41 句柄圖形體系句柄圖形體系4.6 句柄圖形表表4.11 創(chuàng)建圖形對象的命令創(chuàng)建圖形對象的命令 功能功能創(chuàng)建第創(chuàng)建第n個(gè)個(gè)圖形窗口圖形窗口創(chuàng)建坐標(biāo)軸創(chuàng)建坐標(biāo)軸創(chuàng)建直線創(chuàng)建直線創(chuàng)建面創(chuàng)建面命令命令h_ figur

30、e =figure(n)h_axes =axes(position,left,bottom,width,height)h_ line =line(x,y,z)h_ surface=surface(x,y,z,c)說明說明n為正整數(shù)為正整數(shù)定義軸的位置和大小定義軸的位置和大小z省略則在二維平面上省略則在二維平面上x、y、z定義三維曲面,定義三維曲面,c是顏是顏色參數(shù)色參數(shù)創(chuàng)建圖像創(chuàng)建圖像創(chuàng)建文字創(chuàng)建文字h_ image=image(x)h_ text=text(x,y,string)x為圖像數(shù)據(jù)矩陣為圖像數(shù)據(jù)矩陣x、y為字符串為字符串string的標(biāo)注位的標(biāo)注位置置創(chuàng)建用戶創(chuàng)建用戶界面控件界面控

31、件h_uicontrol =uicontrol(PropertyName,Propertyvalue)h_uimenu=uimenu(propertyName, Propertyvalue)創(chuàng)建用戶創(chuàng)建用戶界面菜單界面菜單PropertyNam和和Propertyvalue指定控件的類型指定控件的類型propertyNam和和Propertyvalue指定菜單的形式指定菜單的形式每次創(chuàng)建一個(gè)對象時(shí),就為它建立一個(gè)唯一的句柄每次創(chuàng)建一個(gè)對象時(shí),就為它建立一個(gè)唯一的句柄。(1) 當(dāng)前對象句柄的獲取當(dāng)前對象句柄的獲取語法:語法:gcf %獲取當(dāng)前圖形句柄獲取當(dāng)前圖形句柄gca %獲取當(dāng)前坐標(biāo)軸句柄獲

32、取當(dāng)前坐標(biāo)軸句柄gco %獲取被鼠標(biāo)最近點(diǎn)擊對象的句柄獲取被鼠標(biāo)最近點(diǎn)擊對象的句柄(2) 查找對象查找對象語法:語法:h=findobj %返回根對象和所有子對象的句柄返回根對象和所有子對象的句柄 h=findobj(h_obj) %返回指定對象及子對象的句柄返回指定對象及子對象的句柄 h=findobj(PropertyName,PropertyValue) %返回符合指定屬性值的對象句柄返回符合指定屬性值的對象句柄 h=findobj(h_obj,PropertyName, PropertyValue) %在指定對象及子對象中查找符合指定屬性值的對象句柄在指定對象及子對象中查找符合指定屬性

33、值的對象句柄2對象句柄的獲取對象句柄的獲取(3) 追溯父對象和子對象的句柄追溯父對象和子對象的句柄語法:語法:h_parent=get(h_obj,parent) %追溯父對象的句柄 h_children=get(h_obj,children) %追溯子對象的句柄3對象句柄的刪除對象句柄的刪除語法:語法: delete(h_obj) %刪除句柄所指對象和所有子對象,而且不提示確認(rèn),使用時(shí)要小心。例:例:delete(h_axes)2對象句柄的獲取對象句柄的獲取1創(chuàng)建對象時(shí)同時(shí)設(shè)置屬性創(chuàng)建對象時(shí)同時(shí)設(shè)置屬性例:創(chuàng)建圖形對象,并設(shè)置其屬性。例:創(chuàng)建圖形對象,并設(shè)置其屬性。h_fig=figure(

34、color,red,menubar,none,position,0,0,300,300) 或者使用結(jié)構(gòu)數(shù)組創(chuàng)建圖形對象:或者使用結(jié)構(gòu)數(shù)組創(chuàng)建圖形對象: ps.color=red; ps.position=0,0,300,300; ps.menubar=none; h_fig=figure(ps) h_fig = 1程序分析程序分析:創(chuàng)建一個(gè)圖形窗口,背景為紅色,沒有菜單條,在屏幕的(0,0)位置,寬度、高度為300。 4.6.3 圖形對象屬性的獲取和設(shè)置圖形對象屬性的獲取和設(shè)置2. 用用get函數(shù)獲取屬性值函數(shù)獲取屬性值語法:語法: get(h_obj) %獲取句柄對象所有屬性的當(dāng)前值 get

35、(h_obj, PropertyName) %獲取句柄對象指定屬性的當(dāng)前值3. 用用set函數(shù)設(shè)置屬性值函數(shù)設(shè)置屬性值語法:語法: set(h_obj) %顯示句柄對象所有屬性和屬性值set(h_obj, PropertyName) %顯示句柄對象指定屬性名的屬性值set(h_obj, PropertyName, PropertyValue ) %設(shè)置句柄對象指定屬性的屬性值set(h_obj, PropertyStructure) %用結(jié)構(gòu)數(shù)組設(shè)置句柄對象指定屬性的屬性值4.6.3圖形對象屬性的獲取和設(shè)置圖形對象屬性的獲取和設(shè)置4對象屬性的默認(rèn)設(shè)置和獲取對象屬性的默認(rèn)設(shè)置和獲取語法:語法:g

36、et(h_obj, DefaultObjectTypePropertyName) %獲取對象屬性的默認(rèn)值set(h_obj,DefaultObjectTypePropertyName,PropertyValue) %設(shè)置屬性的用戶定義默認(rèn)值set(h_obj, DefaultObjectTypePropertyName, Remove) %刪除屬性的用戶定義默認(rèn)值說明說明:DefaultObjectTypePropertyName表示為“Default+對象名對象名+屬性屬性名名”,例如線對象的線條寬度為“DefaultLineLineWidth”。4.6.3圖形對象屬性的獲取和設(shè)置圖形對象屬

37、性的獲取和設(shè)置【例】使用低層命令畫圖,并設(shè)置各對象的屬性,【例】使用低層命令畫圖,并設(shè)置各對象的屬性,如下圖所示。如下圖所示。圖形對象圖形對象舉例:舉例:h_fig=figure(color,red,menubar,none,position,0,0,300,300); x=0:0.1:2*pi;y=sin(x).*exp(-x); h_line1=plot(x,y,b); title(y=exp(-x)*sin(x) set(gca,ygrid,on) %顯示顯示y網(wǎng)格網(wǎng)格 line1width=get(h_line1,linewidth) %獲取曲線寬度獲取曲線寬度 set(h_line1

38、,linewidth,3) %設(shè)置曲線寬度設(shè)置曲線寬度 h_title=get(gca,title) %獲取標(biāo)題句柄獲取標(biāo)題句柄 titlefontsize=get(h_title,fontsize) %獲取字體大小獲取字體大小程序清單:程序清單:程序清單:程序清單:set(h_title,fontsize,13) %設(shè)置標(biāo)題字體大小設(shè)置標(biāo)題字體大小h_text1=text(pi,0,downarrow); %畫向下箭頭畫向下箭頭text1pos=get(h_text1,position) %獲取文字位置獲取文字位置h_text2=text(text1pos(1,1),text1pos(1,2

39、)+0.025,exp(-x)*sin(x)=0); %設(shè)置文字位置設(shè)置文字位置set(h_text1,fontsize,13,color,red) set(h_text2,fontsize,13,color,red) 4.7.1可視化的界面環(huán)境可視化的界面環(huán)境( 1 ) 選 擇 菜 單“ F i l e ” “ New”“GUI”命令;(2) 在命令窗口輸入“Guide”命令就會(huì)出現(xiàn)Guide快速開始界面。Guide快速開始快速開始4.7 圖形用戶界面圖形用戶界面(GUI)設(shè)計(jì)設(shè)計(jì) MATLAB設(shè)計(jì)圖形用戶界面的方法有兩種:使用可視化的界面環(huán)設(shè)計(jì)圖形用戶界面的方法有兩種:使用可視化的界面環(huán)境

40、和通過編寫程序。境和通過編寫程序。4.7.1可視化的界面環(huán)境可視化的界面環(huán)境激活激活圖形圖形圖形對圖形對象面板象面板界面編界面編輯面板輯面板對象對象瀏覽器瀏覽器屬性屬性編輯器編輯器菜單菜單編輯器編輯器對象對對象對齊工具齊工具可視化界面環(huán)境可視化界面環(huán)境1. 菜單編輯器菜單編輯器【例】使用菜單編輯器創(chuàng)建菜單。例】使用菜單編輯器創(chuàng)建菜單。在圖 (a)中創(chuàng)建了兩個(gè)菜單“File”和“Paint”,在圖 (b)中創(chuàng)建了一個(gè)菜單“Paint”,并具有兩級(jí)下拉子菜單,“Circle”和“Color”為第一級(jí)下拉菜單,“Red”和“Blue”為第二級(jí)。 圖圖 (a)在新窗口創(chuàng)建菜單在新窗口創(chuàng)建菜單 (b)在

41、已建的窗口創(chuàng)建菜單在已建的窗口創(chuàng)建菜單4.7.2菜單菜單 注意:注意:用菜單編輯器創(chuàng)建菜單,用菜單編輯器創(chuàng)建菜單,如果是直接在可視化的界面環(huán)如果是直接在可視化的界面環(huán)境中新建圖形窗口,則從頭開始新建菜單境中新建圖形窗口,則從頭開始新建菜單,如圖,如圖 (a);如如果在已存在的圖形窗口中創(chuàng)建菜單,則果在已存在的圖形窗口中創(chuàng)建菜單,則MATLAB圖形窗圖形窗口默認(rèn)有七個(gè)標(biāo)準(zhǔn)菜單,新建的菜單從最右邊添加口默認(rèn)有七個(gè)標(biāo)準(zhǔn)菜單,新建的菜單從最右邊添加,如,如圖圖 (b)。4.7.2菜單菜單 2. 用用uimenu命令創(chuàng)建菜單命令創(chuàng)建菜單語法:語法:h_menu=uimenu(h_Parent,Prope

42、rtyName,ProperValue,)【例】編程創(chuàng)建如上圖例】編程創(chuàng)建如上圖 (b)所示的菜單。所示的菜單。 h_fig=gcf h_menu=uimenu(h_fig,label,Paint); %創(chuàng)建菜單Paint h_menu1=uimenu(h_menu,label,Circle); %創(chuàng)建Paint的子菜單Circle h_menu2=uimenu(h_menu,label,Color); %創(chuàng)建Paint的子菜單Color h_menu21=uimenu(h_menu2,label,Red); %創(chuàng)建Color的子菜單Red h_menu22=uimenu(h_menu2,la

43、bel,Blue); %創(chuàng)建Color的子菜單Blue 程序分析程序分析:label屬性用來命名菜單項(xiàng)名稱。4.7.2菜單菜單控件名控件名按鈕按鈕切換按鈕切換按鈕單選按鈕單選按鈕復(fù)選框復(fù)選框文本框文本框靜態(tài)文本框靜態(tài)文本框滾動(dòng)條滾動(dòng)條框架框架列表框列表框彈出式菜單彈出式菜單坐標(biāo)軸坐標(biāo)軸PropertyNamePushButtonToggleButtonRadioButtonCheckBoxEditTextStaticTextSliderFrameListBoxPopupMenuAxes功能功能最常用的控件,用于最常用的控件,用于響應(yīng)用戶的鼠標(biāo)單擊響應(yīng)用戶的鼠標(biāo)單擊,按鈕上有說明文字說明其,按鈕

44、上有說明文字說明其作用。作用。當(dāng)單擊時(shí)會(huì)當(dāng)單擊時(shí)會(huì)凹凸?fàn)顟B(tài)切換凹凸?fàn)顟B(tài)切換。當(dāng)單擊時(shí)會(huì)用當(dāng)單擊時(shí)會(huì)用黑白點(diǎn)切換黑白點(diǎn)切換,總是成組出現(xiàn),多個(gè)單選按鈕互斥,一組,總是成組出現(xiàn),多個(gè)單選按鈕互斥,一組中只有一個(gè)被選中。中只有一個(gè)被選中。當(dāng)單擊時(shí)會(huì)當(dāng)單擊時(shí)會(huì)用用切換切換,有選中、不選中和不確定等狀態(tài),總是成組出,有選中、不選中和不確定等狀態(tài),總是成組出現(xiàn),多個(gè)復(fù)選框可同時(shí)選用?,F(xiàn),多個(gè)復(fù)選框可同時(shí)選用。凹形方框,可隨意輸入和編輯單行和多行文字,并顯示出來。凹形方框,可隨意輸入和編輯單行和多行文字,并顯示出來。用于顯示文字信息,但不接受輸入。用于顯示文字信息,但不接受輸入??梢杂脠D示的方式顯示在一個(gè)范

45、圍內(nèi)數(shù)值的大概值范圍,用戶可以移可以用圖示的方式顯示在一個(gè)范圍內(nèi)數(shù)值的大概值范圍,用戶可以移動(dòng)滾動(dòng)條改變數(shù)值。動(dòng)滾動(dòng)條改變數(shù)值。將一組控件圍在框架中,用于裝飾界面。將一組控件圍在框架中,用于裝飾界面。顯示下拉文字列表,用戶可以從列表中選擇一項(xiàng)和多項(xiàng)。顯示下拉文字列表,用戶可以從列表中選擇一項(xiàng)和多項(xiàng)。相當(dāng)于文本框和列表框的組合,用戶可以從下拉列表中選擇。相當(dāng)于文本框和列表框的組合,用戶可以從下拉列表中選擇。用于用于繪制坐標(biāo)軸繪制坐標(biāo)軸。4.7.3 控件控件常用的控件及其功能常用的控件及其功能2. 控件的創(chuàng)建控件的創(chuàng)建(1) 在可視化界面環(huán)境中創(chuàng)在可視化界面環(huán)境中創(chuàng)建控件建控件在可視化界面環(huán)境中創(chuàng)

46、建控件很簡單,就是在圖形對象面板中選中控件選中控件,然后在空白的界面編輯面板中拖放即可拖放即可,如右圖所示為各種控件的顯示。4.7.3控件控件(2) 用用uicontrol命令創(chuàng)建控件命令創(chuàng)建控件語法:語法:h_control=uicontrol(h_Parent,PropertyName,ProperValue,)4.7.3 控件控件3、控件的常用屬性、控件的常用屬性創(chuàng)建控件以后,需要對控件的各種屬性進(jìn)行設(shè)置,大部分控件都具創(chuàng)建控件以后,需要對控件的各種屬性進(jìn)行設(shè)置,大部分控件都具有以下屬性。有以下屬性。(1)string屬性屬性:用于顯示在控件上的字符串,起說明或提示作用。:用于顯示在控件

47、上的字符串,起說明或提示作用。(2)callback屬性屬性:回調(diào)函數(shù),設(shè)定:回調(diào)函數(shù),設(shè)定控件的功能控件的功能。(3)enable屬性屬性:表示該控件是否有效,如果:表示該控件是否有效,如果“on”則有效,則有效,“off”則無效。則無效。(4)tooltipstring屬性屬性:當(dāng)鼠標(biāo)放在控件上時(shí)顯示提示信息,為字:當(dāng)鼠標(biāo)放在控件上時(shí)顯示提示信息,為字符串。符串。(5)字體屬性字體屬性:包括:包括fontname,fontsize等。等。(6)Tag屬性屬性:控件的標(biāo)記,用于:控件的標(biāo)記,用于標(biāo)識(shí)控件標(biāo)識(shí)控件。4.7.4 回調(diào)函數(shù)回調(diào)函數(shù) 實(shí)現(xiàn)GUI的基本機(jī)制是對控件的callback屬性

48、編輯,如創(chuàng)建了一個(gè)按鈕,則選擇按鈕后,選擇選單“View”下 面 的 “ O b j e c t C a l l b a c k s ” , 就 會(huì) 出 現(xiàn)“ButtonDownFcn”,“Callback”,“CreateFcn”和“DeleteFcn”子選單。除了“Callback”之外,其他3個(gè)選單項(xiàng)也都是用來編寫回調(diào)函數(shù)的。(1)ButtonDownFcn:當(dāng)鼠標(biāo)左鍵單擊控件時(shí)執(zhí)行。(2)Callback:與控件相關(guān)的標(biāo)準(zhǔn)回調(diào)函數(shù),實(shí)現(xiàn)的功能因控件而異。(3)CreateFcn:當(dāng)創(chuàng)建對象時(shí)執(zhí)行。(4)DeleteFcn:當(dāng)刪除對象之前執(zhí)行。當(dāng)選擇各選單時(shí),就會(huì)打開當(dāng)選擇各選單時(shí),就會(huì)

49、打開M文件編輯器文件編輯器/調(diào)試器窗口,出現(xiàn)具有如下調(diào)試器窗口,出現(xiàn)具有如下函數(shù)名的程序:函數(shù)名的程序:%-Function varargout=pushbutton1_ButtonDownFcn(h,eventdata,handles,varargin)%-function varargout=pushbutton1_CreateFcn(h,eventdata,handles,varargin)%-function varargout=pushbutton1_DeleteFcn(h,eventdata,handles,varargin)%-function varargout=pushbut

50、ton1_Callback(h,eventdata,handles,varargin)4.7.4 回調(diào)函數(shù)回調(diào)函數(shù)【例】使用控件設(shè)計(jì)用戶界面,根據(jù)阻尼系數(shù)繪制二階【例】使用控件設(shè)計(jì)用戶界面,根據(jù)阻尼系數(shù)繪制二階系統(tǒng)的時(shí)域曲線。系統(tǒng)的時(shí)域曲線。功能功能:在圖形用戶界面中,通過彈出式菜單選擇二階系統(tǒng)的阻尼系數(shù),然后單擊不同按鈕在坐標(biāo)軸中繪制不同阻尼系數(shù)不同顏色的時(shí)域曲線。1. 設(shè)計(jì)界面設(shè)計(jì)界面使用“guide”命令打開Guide快速開始界面,選擇“Blank GUI”出現(xiàn)空白的可視化界面環(huán)境窗口,調(diào)整圖形大小,將界面窗口右邊的圖形對象面板中的控件拖放到空白窗口中。4.7.6 GUI應(yīng)用舉例應(yīng)用舉例界面布局界面布局放置以下控件:一個(gè)坐標(biāo)軸、兩個(gè)靜態(tài)文本框、一個(gè)彈一個(gè)坐標(biāo)軸、兩個(gè)靜態(tài)文本框、一個(gè)彈出式菜單、兩個(gè)按鈕;出式菜單、兩個(gè)按鈕;然后打開對象對齊工具對齊各控件,界面布局如圖所示。4.7.6 GUI應(yīng)用舉例應(yīng)用舉例2. 設(shè)置控件屬性設(shè)置控件屬性控件類型控件類型屬性名屬性名屬性值屬性值靜態(tài)文本框靜態(tài)文本框Str

溫馨提示

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

評(píng)論

0/150

提交評(píng)論