Matlab利用guide進行計算、繪圖的介面編寫
使用Matlab的用戶可以製作可視化的交互介面,發佈自己的介面程序。本例中使用guide進行一個簡單的實例演示,包括定義一個函數並繪製其圖像,函數參數的輸入等。
開啟GUI引導介面
(01)在Matlab命令行視窗中輸入guide命令,開啟如下介面
(02)單擊確定按鈕,新建一個空白模板。如圖所示
添加按鈕、更改屬性
(01)在新建的模板中,單擊鼠標左鍵將所需的按鈕拖動到繪圖區域,本例中定義函數y=a*sin(b*x),所以需要一個函數名稱顯示的靜態文字方塊,標註a和b的兩個靜態文字方塊,輸入a和b內容的兩個可編輯文字方塊,一個繪圖命令的按鈕,一個繪圖顯示區。操作結果如圖所示
(02)更改各控件屬性值:雙擊靜態文字方塊,彈出屬性對話框,更改String選項顯示名稱爲y=a*sin(b*x),依次更改另外兩個靜態文字方塊以及按鈕的顯示,步驟及結果如圖
(03)爲了編寫代碼時的記憶方便,更改a和b之後兩個可編輯文字方塊的顯示效果以及Tag標籤,操作過程以及最終的改變效果如下所示
代碼編寫
(01)接下來就是編寫回調函數CallBack的調用代碼。在需要編寫代碼的控件上單擊右鍵,彈出以下對話框,選擇CallBack,跳轉到代碼區,在edit_a的代碼區鍵入以下代碼a=str2num(get(hObject,'String'));%得到其中的字元串並將其轉換爲數字if isempty(a) %判斷是否爲數據,若否,則將其設定爲0set(hObject,'String','0');endguidata(hObject,handles);%更新數據操作圖片以及鍵入結果如下
(02)同樣,對edit_b進行操作
(03)最後,編寫pushbutton即繪圖按鍵的代碼編寫鍵入以下代碼a=str2double(get(_a,'String'));%獲得數據ab=str2double(get(_b,'String'));%獲得數據bx=0:0.01:2*pi;%定義x範圍以及步長y=a*sin(b*x);%計算該函數y值plot(x,y);%繪圖並顯示在繪圖區
驗證
(01)執行該介面程序時,有兩種方式,如圖所示
(02)在文字方塊中分別輸入a爲2,b爲3,單擊繪圖按鈕,結果如圖
(03)在a的輸入框中輸入一個字母g,觀察執行結果可發現程序將其自動置爲0,故可以防止非數字輸入時的程序錯誤
特別提示
開啟guide引導介面時注意大小寫
如果對您有點幫助,請在左下角落裏點個贊,謝謝您!
-
最好養的熱帶魚排行 十大養不死的熱帶魚盤點
導語:很多人都想在家裏養魚,但是養魚也並不是那麼簡單的,所以很多人開始就會選擇比較好樣的魚。熱帶魚不僅好看而且對環境要求比較小,那麼最好養的熱帶魚有哪些?探祕志帶大家瞭解十大養不死的熱帶魚吧。1、月光魚第一個進入最好養的熱帶魚排行是月光魚,這是一種比較...
-
電報機的工作原理是
(01)電報機的工作原理主要基於電磁感應和電磁鐵的原理。電報機透過發報機和收報機兩部分完成資訊的傳輸。1.發報機:發報機負責將需要傳輸的資訊轉換成電信號。電報機的工作原理是">(02)它的主要部件包括鍵盤、編碼器、振盪器和發射天線。當操作者透過鍵盤輸入資訊...
-
既要當婊子又要立牌坊是什麼意思
(01)這句話是一個成語,通常用來形容一個人在行爲上表現出的虛僞和矛盾。它意味着一個人想要獲得某種好處,但又不願意承擔相應的責任或付出代價,同時還想要在公衆面前樹立一個正面的形象。(02)這種行爲往往讓人感到不齒,因爲它既表現出了自私和虛僞,也表現出了對道德和公...
-
斯金納箱的恐怖之處 斯金納箱說明了什麼(人性)
導語:斯金納箱是由斯金納在1938年發明的,將一隻很餓的小白鼠放置在箱子裏面,最開始它會比較隨意的摸索,不經意間按壓到了槓桿發現有食物掉入,然後逐漸發現規律,它就會找到獲得食物的妙招,算是比較真實的模擬了賭博,下面探祕志和大家一起了解一下。斯金納箱的恐怖之處所...