MATLABGUI程序設計初步PPT課件_第1頁
MATLABGUI程序設計初步PPT課件_第2頁
MATLABGUI程序設計初步PPT課件_第3頁
MATLABGUI程序設計初步PPT課件_第4頁
MATLABGUI程序設計初步PPT課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答引言 MATLAB的GUI程序設計可以用兩種方式實現(xiàn),一種是借助GUI開發(fā)工具GUIDE,一種是利用m文件代碼構(gòu)建界面。采用GUIDE進行設計的方法所見即所得,直觀方便,很容易上手。 本章主要介紹利用GUIDE方法進行設計的步驟。有興趣的用戶可以進一步了解學習全部利用m文件代碼構(gòu)建界面及執(zhí)行程序的方法。 第1頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答本章主要內(nèi)容 6.1 GUI設計工具Guide簡介 6.1.1 GUIDE的啟動 6.1.2 GUI界

2、面的創(chuàng)建 6.2 GUI程序設計示例 6.2.1“Hello World”程序的設計 6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序第2頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6 . 1 G U I 設 計 工 具 G u i d e 簡 介第3頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答 MATLAB提供了用戶圖形界面開發(fā)程序GUIDE,支持可視化編輯。 它是一種基于事件或者說是事件驅(qū)動的程序(event driven),類似于方便易用的Visual Basic

3、。第4頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.1.1 GUIDE的啟動 可以如下不同方式啟動GUIDE: 1. 在命令窗口提示符下輸入guide; 2. 在工具欄選打開; 3. 在Start菜單中選MATLAB GUIDE (GUI Builder); 4. MATLAB File 菜單中選New GUI。第5頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.1.1 GUIDE的啟動 以上面任一種方式打開GUIDE后,即下圖的啟動界面。 GUIDE啟動界面 第6頁/共44頁MA

4、TLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.1.2 GUI界面的創(chuàng)建 用戶創(chuàng)建新的GUI,也可打開已有的GUI。創(chuàng)建界面時還可在模板基礎上進行,在選擇GUI模板時,啟動界面右側(cè)提供了預覽。第7頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2 GUI程序設計示例第8頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答概述 本節(jié)通過2個示例,演示MATLAB的GUI程序設計。 一個是“Hello World”程序,作為初步了解。 一個用來演示控制系統(tǒng)

5、傳遞函數(shù)典型環(huán)節(jié)的響應曲線,具有一定實用性。 第9頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計 下面以一個類似于學習其它程序設計的第一個程序“Hello World”為例,講解GUIDE的有關(guān)知識。 程序的目標是當按下按鈕時,由文本控件顯示“Hello World”。 第10頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答顯示控件名稱的設置界面 對界面左側(cè)的控件如果不夠熟悉的話,可以通過FilePreferences選項,選中“Show na

6、mes in component palette” 第11頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答GUI設計界面在顯示控制圖標的同時,還顯示控件名稱 GUI設計界面 第12頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計1. “Hello World”程序界面設計2. “Hello World”程序的設計3. 程序測試運行第13頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“

7、Hello World”程序的設計1. “Hello World”程序界面設計 GUI設計中的界面設計部分比較容易。在窗口上添加一個按鈕控件(Push Button)和一個文本控件(Static Text)??梢噪p擊控件調(diào)出屬性編輯器進行其屬性的設置。第14頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答 本例中,設按鈕控件的“String”屬性為“問候”,“Tag”屬性為“helloBt”,見右圖按鈕屬性設置 第15頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答 設置文本控件的“Stri

8、ng”屬性為空,表示初始狀態(tài)下不顯示任何信息,“Tag”屬性為“helloStr”,為顯示清楚,設其“FontSize”屬性為“28”。見右圖文本控件屬性設置 第16頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計1. “Hello World”程序界面設計 需要注意的是,“Tag”屬性設置要唯一,因為“Tag”屬性是唯一標識控件的。 至此,我們的界面設計工作完成。在保存時,會生成2個文件,一個是helloworld.fig,一個是helloworld.m。第17頁/共44頁MATLAB與控制系統(tǒng)

9、仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計1. “Hello World”程序界面設計 此外可通過ToolsMenu Editor進行類似于Windows程序的菜單設計。編輯窗口見左圖,效果見右圖。 菜單設計的編輯窗口菜單效果圖第18頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6 . 2 . 1 “ H e l l o W o r l d ” 程 序 的 設 計2. “Hello World”程序的設計 按照要求,我們可以給按鈕添加動作,即給它編寫一個回調(diào)函數(shù)(Call

10、back)。 右鍵單擊按鈕,選擇View CallbacksCallback自動打開helloworld.m文件并指向該回調(diào)函數(shù)。 根據(jù)需要為其添加語句。程序?qū)⒕浔痟andles的helloStr(即文本控件)“String”屬性設置為“Hello World”,即完成了設計要求。第19頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計2. “Hello World”程序的設計 下面這段程序的意思是當點擊按鈕時,即由程序設置文本控件的“String”屬性值為“Hello World”。functi

11、on helloBt_Callback(hObject, eventdata, handles)set(handles.helloStr,String,Hello World !);第20頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計2. “Hello World”程序的設計 注意回調(diào)函數(shù)的概念,它指的是在對象的某一個事件發(fā)生時,MATLAB內(nèi)部機制允許自動調(diào)用的函數(shù)。 其幾個參數(shù)的意思分別為 hObject表示當前窗口的句柄; eventdata表示事件代碼,為保留 handles是該窗口中的

12、所有句柄的集合。 回調(diào)函數(shù)有的是針對窗口而言的,有的是對具體控件而言的,學會回調(diào)函數(shù)的編寫有助于高效編寫MATLAB GUI程序 第21頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計3. 程序測試運行 在程序編輯窗口運行測試,或在命令窗口鍵入程序名稱“helloworld”,即可運行。如下圖:helloworld程序運行界面 第22頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.1“Hello World”程序的設計3. 程序測試運行注

13、意: 當不小心將helloworld.fig關(guān)掉后,再次編輯需要重新打開。其方法可以通過FileNewGUIOpen Existing GUI來打開。 如按照一般理解選擇FileOpen項的話,只能打開其運行窗口而不可編輯。第23頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 1.程序功能描述 2.程序界面設計 3.程序代碼設計 4.程序測試運行第24頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設

14、計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 1.程序功能描述 進行控制系統(tǒng)典型環(huán)節(jié)的演示,包括了典型環(huán)節(jié)運行效果的演示與代碼的展示。也可以在代碼區(qū)輸入繪制曲線語句并通過點擊定制曲線按鈕繪制曲線。第25頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 2.程序界面設計 根據(jù)程序功能要求,添加不同控件,并設置控件各自的屬性。 (1) Axes控件作用為顯示圖形,典型環(huán)節(jié)的階躍響應曲線及定制曲線都在此處進行顯示?!癟ag”屬性設為myAxes。 (2) Panel控件用來盛放其它控件,這里盛放的是

15、代碼區(qū)?!癟ag”屬性設為uipanel?!癟itle”屬性設為空。第26頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 (3) Edit Text控件用于輸入和顯示文本。此處作為代碼區(qū),主要作用為展示典型環(huán)節(jié)的代碼、輸入用戶定制的曲線代碼。 “Tag”屬性設為: strCode。 “String”屬性設為: Please input command for example: x=0:0.1:4*pi; y=sin(x); 這為用戶定制曲線提供了一個例程。第27頁/共44頁MAT

16、LAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 (4) Static Text控件作為標識,提示位于其下方的ListBox控件選項是進行典型環(huán)節(jié)的演示的?!癟ag”屬性設為txtDemo,“String”屬性設為典型環(huán)節(jié)演示。 (5) ListBox控件類似于一組復選框,用戶可以從中選擇不同選項。 “Tag”屬性設為: lstBox “String”屬性設為: 比例環(huán)節(jié) 慣性環(huán)節(jié) 比例微分環(huán)節(jié) 比例積分環(huán)節(jié)表示此列表共有4項內(nèi)容即4個典型環(huán)節(jié)可選。第28頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,

17、北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 (6) Push Button控件表現(xiàn)為一個按鈕。本例中使用了兩個此控件。 一個用于定制曲線的繪制。用戶在代碼區(qū)輸入繪制曲線語句后,點擊此按鈕進行曲線的繪制?!癟ag”屬性設為btnDraw,“String”屬性設為定制曲線,“TooltipString”屬性設為在代碼區(qū)中輸入曲線參數(shù),繪制任意曲線。這樣當用戶將光標置于按鈕之上時,會有相應的提示信息。 一個用于關(guān)閉運行窗口?!癟ag”屬性設為btnClose,“String” 屬性設為關(guān)閉,“TooltipString”屬性

18、設為關(guān)閉窗口。第29頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序設定完成的界面草圖如右圖 程序界面設計草圖 第30頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 至此,本例所需的控件已設置完畢。在最初按照草圖添加部署了所有的控件后,往往不會排列得很整齊。此時可根據(jù)需要進行控件的排列。第31頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009

19、.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 如在本例中,要將位于窗口右側(cè)的4個控件豎排整齊,則可在窗口選ToolAlign Objects彈出的窗口中進行選擇,如圖。界面控件布局設置 第32頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序 3.程序代碼設計 根據(jù)要求,在選擇典型環(huán)節(jié)時需要設置回調(diào)函數(shù)。此外,對兩個按鈕控件也要設置回調(diào)函數(shù)。 回調(diào)函數(shù)的生成在前一個例子已講過,這里不重復。這里只給出相應的代碼段供參考。 第33頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序第34頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序第35頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6.2.2 一個實用的GUI設計示例控制系統(tǒng)典型環(huán)節(jié)的演示程序第36頁/共44頁MATLAB與控制系統(tǒng)仿真實踐,北京航空航天大學出版社,2009.8.在線交流,有問必答6

溫馨提示

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

評論

0/150

提交評論