第 MATLAB GUI程序設計初步_第1頁
第 MATLAB GUI程序設計初步_第2頁
第 MATLAB GUI程序設計初步_第3頁
第 MATLAB GUI程序設計初步_第4頁
第 MATLAB GUI程序設計初步_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

第8頁/共33頁6.2.1“HelloWorld”程序的設計以一個類似于學習其它程序設計的第一個程序“HelloWorld”為例,講解GUIDE的有關知識。程序的目標:當按下按鈕時,由文本控件顯示“HelloWorld”。

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

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

“Tag”屬性設為:strCode。

“String”屬性設為:

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

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

“Tag”屬性設為:lstBox

“String”屬性設為:

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

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

溫馨提示

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

評論

0/150

提交評論