酷知百科網

位置:首頁 > 母嬰教育 > 學習交流

Matlab利用guide進行計算、繪圖的介面編寫

使用Matlab的用戶可以製作可視化的交互介面,發佈自己的介面程序。本例中使用guide進行一個簡單的實例演示,包括定義一個函數並繪製其圖像,函數參數的輸入等。

開啟GUI引導介面

(01)在Matlab命令行視窗中輸入guide命令,開啟如下介面

Matlab利用guide進行計算、繪圖的介面編寫
Matlab利用guide進行計算、繪圖的介面編寫 第2張

(02)單擊確定按鈕,新建一個空白模板。如圖所示

Matlab利用guide進行計算、繪圖的介面編寫 第3張

添加按鈕、更改屬性

(01)在新建的模板中,單擊鼠標左鍵將所需的按鈕拖動到繪圖區域,本例中定義函數y=a*sin(b*x),所以需要一個函數名稱顯示的靜態文字方塊,標註a和b的兩個靜態文字方塊,輸入a和b內容的兩個可編輯文字方塊,一個繪圖命令的按鈕,一個繪圖顯示區。操作結果如圖所示

Matlab利用guide進行計算、繪圖的介面編寫 第4張

(02)更改各控件屬性值:雙擊靜態文字方塊,彈出屬性對話框,更改String選項顯示名稱爲y=a*sin(b*x),依次更改另外兩個靜態文字方塊以及按鈕的顯示,步驟及結果如圖

Matlab利用guide進行計算、繪圖的介面編寫 第5張
Matlab利用guide進行計算、繪圖的介面編寫 第6張

(03)爲了編寫代碼時的記憶方便,更改a和b之後兩個可編輯文字方塊的顯示效果以及Tag標籤,操作過程以及最終的改變效果如下所示

Matlab利用guide進行計算、繪圖的介面編寫 第7張
Matlab利用guide進行計算、繪圖的介面編寫 第8張
Matlab利用guide進行計算、繪圖的介面編寫 第9張

代碼編寫

(01)接下來就是編寫回調函數CallBack的調用代碼。在需要編寫代碼的控件上單擊右鍵,彈出以下對話框,選擇CallBack,跳轉到代碼區,在edit_a的代碼區鍵入以下代碼a=str2num(get(hObject,'String'));%得到其中的字元串並將其轉換爲數字if isempty(a) %判斷是否爲數據,若否,則將其設定爲0set(hObject,'String','0');endguidata(hObject,handles);%更新數據操作圖片以及鍵入結果如下

Matlab利用guide進行計算、繪圖的介面編寫 第10張
Matlab利用guide進行計算、繪圖的介面編寫 第11張
Matlab利用guide進行計算、繪圖的介面編寫 第12張

(02)同樣,對edit_b進行操作

Matlab利用guide進行計算、繪圖的介面編寫 第13張
Matlab利用guide進行計算、繪圖的介面編寫 第14張

(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);%繪圖並顯示在繪圖區

Matlab利用guide進行計算、繪圖的介面編寫 第15張

驗證

(01)執行該介面程序時,有兩種方式,如圖所示

Matlab利用guide進行計算、繪圖的介面編寫 第16張
Matlab利用guide進行計算、繪圖的介面編寫 第17張

(02)在文字方塊中分別輸入a爲2,b爲3,單擊繪圖按鈕,結果如圖

Matlab利用guide進行計算、繪圖的介面編寫 第18張

(03)在a的輸入框中輸入一個字母g,觀察執行結果可發現程序將其自動置爲0,故可以防止非數字輸入時的程序錯誤

Matlab利用guide進行計算、繪圖的介面編寫 第19張

特別提示

開啟guide引導介面時注意大小寫

如果對您有點幫助,請在左下角落裏點個贊,謝謝您!