【大学课件】MATLAB 程式设计入门篇GUIDE.ppt
《【大学课件】MATLAB 程式设计入门篇GUIDE.ppt》由会员分享,可在线阅读,更多相关《【大学课件】MATLAB 程式设计入门篇GUIDE.ppt(42页珍藏版)》请在三一办公上搜索。
1、MATLAB 程式設計入門篇GUIDE,http:/,8-1 MATLAB第七版的 GUIDE簡介,GUIDE 是 Graphic User Interface Design Environment 的簡稱。它是一個 設計圖形使用者介面(Graphical User Interface,簡稱 GUI)的發展環境。使用 GUIDE 工具的好處如下:可以產生每一個控制物件的標準反應函式,使用者只要填入所需的指令或敘述。可以快速地拉出介面,具有所見即所得的性質。GUIDE 也有不盡人意之處 比較不適用於複雜的 GUI 介面。無法將 GUI 應用程式集中於一個檔案。執行效率可能比較差一些。,http:
2、/,8-1 MATLAB第七版的 GUIDE簡介,欲啟動 MATLAB 7.x 的 GUIDE,只需在命令視窗下輸入guide即可開啟 GUIDE 的主面版:,http:/,8-1 MATLAB第七版的 GUIDE簡介,在Create New GUI的頁面中,你可以選擇幾個樣版:Blank GUI(Default):空白樣版GUI with Uicontrols:含有 UI 控制物件(UI Controls)的樣版 GUI with Axes and Menu:含有圖軸和下拉選單的樣版Modal Question Dialog:含有對話窗的樣版如果你已經有之前所設計的畫面,也可以點選Open
3、Existing GUI,來開啟以前的檔案,如右圖所示:,http:/,8-1 MATLAB第七版的 GUIDE簡介,為了簡化說明,我們先回到Create New GUI頁面,並點選Blank GUI(Default)來開啟空白樣版,其畫面如下:,http:/,8-1 MATLAB第七版的 GUIDE簡介,在上述的畫面中,左邊是各種 UI 控制物件和圖軸的選單,選取之後,你就可以在中間空白部分,以滑鼠點選並拖放來擺置你所需要的 UI 控制物件或圖軸等。我們可以修改預設的 GUIDE 編輯面版,讓它更好用:如果嫌左邊的圖示太小,可以點選 File/Preference,並點選Show names
4、 in component palette,就可以顯示左邊各個圖式的文字說明。如果要在面版周圍顯示尺規(Ruler),可以在下拉選單選擇 Tools/Grid and Rulers,然後再點選跳出視窗的Show rulers,就可以在面版周圍顯示尺規。,http:/,8-1 MATLAB第七版的 GUIDE簡介,經由上述的設定後,GUIDE 主面版顯示如下:,http:/,8-2 入門範例一,我們先改變 GUIDE 面版的大小(由拖放面版右下角的黑點來達成)接著在面版上放置兩個控制物件一個是拉霸(Slider)另一個是可編輯文字欄位(Edit Text),http:/,8-2 入門範例一,我們
5、可以使用滑鼠右鍵來點選任一個 UI 控制物件,並選取Inspect Properties,以改變其性質。以上面的拉霸為例,以滑鼠右鍵點選後,選取Inspect Properties,即可開啟性質檢視器(Property Inspector)。,http:/,8-2 入門範例一,在性質檢視器中,左邊是物件的性質,右邊則是此性質所對應的值,我們可以點選右邊來改變這些值。完成物件代號的設定後,我們就可以設定物件的反應命令。我們希望這些反應命令能夠使這個 GUI 應用程式達到下列功能:當使用者拖放拉霸時,能將拉霸的位置(預設值是介於 0 和 1 之間)顯示在文字欄位。文字欄位值被改變時,拉霸的位置能夠
6、隨之改變。在 GUIDE 的環境下,一個物件的反應命令都是由一個特定的函式來完成,這個函式就稱為反應函式,而函式名稱就是物件代號_Callback。,http:/,8-2 入門範例一,我們以滑鼠右鍵點選拉霸,並選取View Callbacks/Callback,即可開啟 MATLAB 程式編輯器。此程式編輯器會顯示反應命令必須加入的位置,拉霸的 Tag 是 mySlider,所以其反應函式是 mySlider_Callback(),所加進去的兩列敘述如下:第一列敘述抓出拉霸的位置,並轉成數值。第二列則將此數值設定為文字欄位的顯示文字。,position=num2str(get(handles.
7、mySlider,Value);set(handles.myText,String,position);,http:/,8-2 入門範例一,http:/,8-2 入門範例一,使用相同的方式,我們也可以加入文字欄位的反應命令,其反應函式是 myText_Callback(),所加進去的兩列敘述如下:第一列抓出文字欄位的顯示文字,然後轉成數值。第二列將拉霸的位置設定成此數值。加入的位置如下所示:,value=str2double(get(handles.myText,String);set(handles.mySlider,Value,value);,http:/,8-2 入門範例一,http:/
8、,8-2 入門範例一,按下 GUIDE 面版的工具列的三角形按鈕,即可開啟可使用的 GUI 介面 由於所產生的程式碼並不在 MATLAB 的搜尋路徑中,因此會先跳出一個詢問視窗:,http:/,8-2 入門範例一,直接按下確定後就會跳出我們所設計的 GUI 介面如下:你可以直接移動拉霸,其位置就會顯示在文字欄位內;你也可以修改文字欄位的值,來指定拉霸的位置(收錄在本書光碟的 gui01.m 和 gui01.fig)。,http:/,8-2 入門範例一,在設計反應命令時,最重要的事,就是要能讓不同的 UI 控制物件都能存取其他物件以及相關資料,因為每一個 UI 控制物件的反應命令都是以函式的型式
9、來進行。因此 GUIDE 在每一個反應函式內提供了一個結構變數 handles,以便提供資料的共通,可達到下列兩項功能:經由 handles 來存放或取用共通的資料。經由 handles 來取得每一個 UI 控制物件的性質。,http:/,8-2 入門範例一,例如,若要在某一個控制物件的反應函式內存放變數 A,可以加入下列敘述:如果要在另一個控制物件的反應函式裡面使用變數 A,只要加入下列敘述即可:,handles.myData=A;%將變數 A 存放在 handles 的 myData 欄位guidata(hObject,handles)%將新的 handles 存回整個 GUI 介面,A=
10、handles.myData;,http:/,8-2 入門範例一,handles 本身也包含了同一個 GUI 介面下的所有控制物件,因此你可以在任一個反應函式內取用每一個控制物件,如下:handles.mySlider:拉霸物件handles.myText:文字欄位物件如果整個 GUI 的名稱是 myGUI,那麼 handles.myGUI 就是指到整個 GUI 的圖形,因此若要關閉此視窗,也可以使用下列敘述:,delete(handles.myGUI),http:/,8-3 入門範例二,我們將改進前一個範例,在使用者輸入不合法的數值時,應用程式能夠回應錯誤訊息,並記錄錯誤的次數。我們可以經由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学课件 【大学课件】MATLAB 程式设计入门篇GUIDE 大学 课件 MATLAB 程式 设计 入门 GUIDE
链接地址:https://www.31ppt.com/p-5921076.html