第 MATLAB GUI程序設(shè)計(jì)初步_第1頁(yè)
第 MATLAB GUI程序設(shè)計(jì)初步_第2頁(yè)
第 MATLAB GUI程序設(shè)計(jì)初步_第3頁(yè)
第 MATLAB GUI程序設(shè)計(jì)初步_第4頁(yè)
第 MATLAB GUI程序設(shè)計(jì)初步_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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)介

會(huì)計(jì)學(xué)1第MATLABGUI程序設(shè)計(jì)初步主要內(nèi)容6.1GUI設(shè)計(jì)工具GUIDE簡(jiǎn)介6.1.1GUIDE的啟動(dòng)6.1.2GUI界面的創(chuàng)建6.2GUI程序設(shè)計(jì)示例6.2.1“HelloWorld”程序的設(shè)計(jì)6.2.2一個(gè)實(shí)用的GUI設(shè)計(jì)示例――控制系統(tǒng)典型環(huán)節(jié)的演示程序本章小結(jié)第1頁(yè)/共33頁(yè)6.1GUI設(shè)計(jì)工具GUIDE簡(jiǎn)介第2頁(yè)/共33頁(yè)MATLAB提供了用戶圖形界面開(kāi)發(fā)程序GUIDE,支持可視化編輯。它是一種基于事件或者說(shuō)是事件驅(qū)動(dòng)的程序(eventdriven),類似于方便易用的VisualBasic。第3頁(yè)/共33頁(yè)6.1.1GUIDE的啟動(dòng)可以如下不同方式啟動(dòng)GUIDE:在命令窗口提示符下輸入guide;在工具欄選打開(kāi);在Start菜單中選MATLAB>GUIDE(GUIBuilder);MATLABFile菜單中選New>GUI。第4頁(yè)/共33頁(yè)6.1.1GUIDE的啟動(dòng)以上面任一種方式打開(kāi)GUIDE后,即下圖的啟動(dòng)界面。

GUIDE啟動(dòng)界面第5頁(yè)/共33頁(yè)6.1.2GUI界面的創(chuàng)建用戶創(chuàng)建新的GUI,也可打開(kāi)已有的GUI。創(chuàng)建界面時(shí)還可在模板基礎(chǔ)上進(jìn)行,在選擇GUI模板時(shí),啟動(dòng)界面右側(cè)提供了預(yù)覽。注:演示以“GUIwithaxesandmenu”模板創(chuàng)建的GUI初始界面。第6頁(yè)/共33頁(yè)6.2GUI程序設(shè)計(jì)示例第7頁(yè)/共33頁(yè)概述通過(guò)2個(gè)示例,演示MATLAB的GUI程序設(shè)計(jì)。一個(gè)是“HelloWorld”程序,作為初步了解。一個(gè)用來(lái)演示控制系統(tǒng)傳遞函數(shù)典型環(huán)節(jié)的響應(yīng)曲線,具有一定實(shí)用性。

第8頁(yè)/共33頁(yè)6.2.1“HelloWorld”程序的設(shè)計(jì)以一個(gè)類似于學(xué)習(xí)其它程序設(shè)計(jì)的第一個(gè)程序“HelloWorld”為例,講解GUIDE的有關(guān)知識(shí)。程序的目標(biāo):當(dāng)按下按鈕時(shí),由文本控件顯示“HelloWorld”。

第9頁(yè)/共33頁(yè)“HelloWorld”程序界面設(shè)計(jì)GUI設(shè)計(jì)中的界面設(shè)計(jì)部分比較容易。在窗口上添加一個(gè)按鈕控件(PushButton)和一個(gè)文本控件(StaticText)??梢噪p擊控件調(diào)出屬性編輯器進(jìn)行其屬性的設(shè)置。注:演示控制屬性設(shè)置第10頁(yè)/共33頁(yè)“HelloWorld”程序界面設(shè)計(jì)需要注意的是,“Tag”屬性設(shè)置要唯一,因?yàn)椤癟ag”屬性是唯一標(biāo)識(shí)控件的。在保存時(shí),會(huì)生成2個(gè)文件,一個(gè)是helloworld.fig,一個(gè)是helloworld.m。第11頁(yè)/共33頁(yè)“HelloWorld”程序界面設(shè)計(jì)可通過(guò)Tools>MenuEditor進(jìn)行類似于Windows程序的菜單設(shè)計(jì)。注:演示菜單設(shè)計(jì)第12頁(yè)/共33頁(yè)“HelloWorld”程序的設(shè)計(jì)按照要求,可以給按鈕添加動(dòng)作,即給它編寫一個(gè)回調(diào)函數(shù)(Callback)。右鍵單擊按鈕,選擇ViewCallbacks>Callback自動(dòng)打開(kāi)helloworld.m文件并指向該回調(diào)函數(shù)。根據(jù)需要為其添加語(yǔ)句。程序?qū)⒕浔痟andles的helloStr(即文本控件)“String”屬性設(shè)置為“HelloWorld”,即完成了設(shè)計(jì)要求。第13頁(yè)/共33頁(yè)“HelloWorld”程序的設(shè)計(jì)下面這段程序的意思是當(dāng)點(diǎn)擊按鈕時(shí),即由程序設(shè)置文本控件的“String”屬性值為“HelloWorld”。functionhelloBt_Callback(hObject,eventdata,handles)set(handles.helloStr,'String','HelloWorld!');第14頁(yè)/共33頁(yè)“HelloWorld”程序的設(shè)計(jì)回調(diào)函數(shù)指的是在對(duì)象的某一個(gè)事件發(fā)生時(shí),MATLAB內(nèi)部機(jī)制允許自動(dòng)調(diào)用的函數(shù)。其幾個(gè)參數(shù)的意思分別為:hObject表示當(dāng)前窗口的句柄。eventdata表示事件代碼,為保留值。handles是該窗口中的所有句柄的集合?;卣{(diào)函數(shù)有的是針對(duì)窗口而言的,有的是對(duì)具體控件而言的,學(xué)會(huì)回調(diào)函數(shù)的編寫有助于高效編寫MATLABGUI程序。

第15頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行在程序編輯窗口運(yùn)行測(cè)試,或在命令窗口鍵入程序名稱“helloworld”,即可運(yùn)行。如下圖:helloworld程序運(yùn)行界面第16頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行注意:當(dāng)不小心將helloworld.fig關(guān)掉后,再次編輯需要重新打開(kāi)。其方法可以通過(guò)File>New>GUI>OpenExistingGUI來(lái)打開(kāi)。如按照一般理解選擇File>Open項(xiàng)的話,只能打開(kāi)其運(yùn)行窗口而不可編輯。第17頁(yè)/共33頁(yè)控制系統(tǒng)傳遞函數(shù)典型環(huán)節(jié)程序功能描述進(jìn)行控制系統(tǒng)典型環(huán)節(jié)的演示,包括了典型環(huán)節(jié)運(yùn)行效果的演示與代碼的展示。也可以在代碼區(qū)輸入繪制曲線語(yǔ)句并通過(guò)點(diǎn)擊定制曲線按鈕繪制曲線。第18頁(yè)/共33頁(yè)程序界面設(shè)計(jì)根據(jù)程序功能要求,添加不同控件,并設(shè)置控件各自的屬性。Axes控件作用為顯示圖形,典型環(huán)節(jié)的階躍響應(yīng)曲線及定制曲線都在此處進(jìn)行顯示?!癟ag”屬性設(shè)為myAxes。Panel控件用來(lái)盛放其它控件,這里盛放的是代碼區(qū)?!癟ag”屬性設(shè)為uipanel。“Title”屬性設(shè)為空。第19頁(yè)/共33頁(yè)程序界面設(shè)計(jì)EditText控件用于輸入和顯示文本。此處作為代碼區(qū),主要作用為展示典型環(huán)節(jié)的代碼、輸入用戶定制的曲線代碼。

“Tag”屬性設(shè)為:strCode。

“String”屬性設(shè)為:

Pleaseinputcommandforexample:x=0:0.1:4*pi;y=sin(x);

這為用戶定制曲線提供了一個(gè)例程。第20頁(yè)/共33頁(yè)程序界面設(shè)計(jì)StaticText控件作為標(biāo)識(shí),提示位于其下方的ListBox控件選項(xiàng)是進(jìn)行典型環(huán)節(jié)的演示的?!癟ag”屬性設(shè)為txtDemo,“String”屬性設(shè)為典型環(huán)節(jié)演示。第21頁(yè)/共33頁(yè)程序界面設(shè)計(jì)ListBox控件類似于一組復(fù)選框,用戶可以從中選擇不同選項(xiàng)。

“Tag”屬性設(shè)為:lstBox

“String”屬性設(shè)為:

比例環(huán)節(jié)慣性環(huán)節(jié)比例微分環(huán)節(jié)比例積分環(huán)節(jié)第22頁(yè)/共33頁(yè)程序界面設(shè)計(jì)PushButton控件表現(xiàn)為一個(gè)按鈕。本例中使用了兩個(gè)此控件。一個(gè)用于定制曲線的繪制。一個(gè)用于關(guān)閉運(yùn)行窗口第23頁(yè)/共33頁(yè)程序界面設(shè)計(jì)注:演示控制設(shè)置并添加。將控件添加到界面上。在最初按照草圖添加部署了所有的控件后,往往不會(huì)排列得很整齊。此時(shí)可根據(jù)需要進(jìn)行控件的排列。第24頁(yè)/共33頁(yè)程序代碼設(shè)計(jì)根據(jù)要求,在選擇典型環(huán)節(jié)時(shí)需要設(shè)置回調(diào)函數(shù)。此外,對(duì)兩個(gè)按鈕控件也要設(shè)置回調(diào)函數(shù)?;卣{(diào)函數(shù)的生成在前一個(gè)例子已講過(guò),這里不重復(fù)。注:打開(kāi)示例源程序,講解回調(diào)函數(shù)代碼段。第25頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行運(yùn)行程序后,出現(xiàn)如圖所示程序首界面

第26頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行輸入繪制曲線的代碼,如:x=0:0.1:4*pi;y=cos(x);點(diǎn)擊定制曲線按鈕后,出現(xiàn)如圖運(yùn)行結(jié)果。第27頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行比例環(huán)節(jié)演示結(jié)果第28頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行慣性環(huán)節(jié)演示結(jié)果第29頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行比例微分環(huán)節(jié)演示結(jié)果第30頁(yè)/共33頁(yè)程序測(cè)試運(yùn)行比例積分環(huán)節(jié)演示結(jié)果第31頁(yè)/共33頁(yè)本章小結(jié)MATLAB的

溫馨提示

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