MATLAB GUI界面介紹(附:信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)的搭建)
本文側(cè)重介紹MATLAB相關(guān)問題,信號(hào)與系統(tǒng)的知識(shí)后續(xù)出文。
一、首頁預(yù)覽(GUI)
二、詳細(xì)介紹(GUI界面)
1.首先了解一下什么是GUI:
GUI又稱圖形用戶界面,在MATLAB中常用的是使用“guide”命令搭建GUI界面。雖然現(xiàn)版本出了APP設(shè)計(jì),但GUI還是經(jīng)典。
第一步:
命令行窗口輸入>>guide
第二步:
選擇新建文件(或者打開已存在的文件),建立新的GUI界面
第三步:
將會(huì)出現(xiàn)GUI界面以及相關(guān)的m文件
此處為m文件的主函數(shù)段,不可隨意更改,不然會(huì)導(dǎo)致初始化失敗。
2.GUI界面的介紹:
菜單區(qū)
在菜單編輯器中,可以設(shè)計(jì)GUI常用的菜單選項(xiàng)
菜單編輯器中可以設(shè)置多項(xiàng)選項(xiàng),可以設(shè)置相互之間的優(yōu)先關(guān)系
關(guān)于菜單欄的介紹詳情可參考:
https://blog.csdn.net/ywsydwsbn/article/details/125052769
控件區(qū)和工作區(qū)
對(duì)于小白來說,可以將控件名稱顯示出來
3.控件功能及回調(diào)函數(shù)
控件常用的大致可分為以下幾類:按鈕,文本,坐標(biāo)區(qū)以及面板等
按鈕
以普通按鈕為例,選中拖入工作區(qū),雙擊進(jìn)入此控件的屬性檢查器,常用屬性如圖所示:
文本
可編輯文本:此控件在運(yùn)行后可接收鍵盤輸入內(nèi)容,回調(diào)函數(shù)中可結(jié)合按鈕進(jìn)行相關(guān)操作。
靜態(tài)文本:在屬性檢查器中可修改文本內(nèi)容,起到標(biāo)題、提示等作用,可更改文本背景顏色,使其更加美觀。
坐標(biāo)區(qū)
坐標(biāo)區(qū)可作為背景圖片的控件,結(jié)合其他控件可實(shí)現(xiàn)關(guān)聯(lián)以及多種功能。
函數(shù)回調(diào)及相關(guān)操作
以按鈕為例,右鍵控件–>查看回調(diào)–>callback,及定位返回到按鈕函數(shù)所在編輯器的位置
第二張圖紅圈中的及是該按鈕 的回調(diào)標(biāo)簽,可用以下兩種方法查看及修改:
第一種:雙擊按鈕進(jìn)入屬性檢查器,tag中修改。
第二種:在工作區(qū)空白區(qū)域右鍵進(jìn)入對(duì)象瀏覽器,可查看全局所有控件的標(biāo)簽
4.設(shè)計(jì)及部分代碼展示
①.GUI繪圖
第一界面:自己設(shè)置的登錄界面,需要輸入正確的賬號(hào)和密碼。
第二界面:繪圖界面,設(shè)置了三種繪圖參數(shù),peaks,membrane,sinc??梢酝ㄟ^輸入仰角和方位角,并設(shè)置了四種色系和三種著色方式。
mesh,surf,contour3三種網(wǎng)格圖顯方式,可以通過按鍵實(shí)現(xiàn)網(wǎng)格的隱藏。
①.以下部分代碼實(shí)現(xiàn)了登錄賬號(hào)和登錄密碼的設(shè)置:
%此處為按鈕“登錄”的回調(diào)片段 不用改動(dòng)
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%a2和name為接收輸入
a2 = str2double(handles.hPass.Text);
name=get(handles.xingming,'String')
%當(dāng)賬戶和密碼都滿足所設(shè)條件時(shí),即可關(guān)閉當(dāng)前界面(denglu及第一界面),打開新的界面(demo及第二界面)
if strcmp(name,'Abbotrush')&&(a2==12345678);
close(denglu);
demo;
%如果不滿足條件,則會(huì)出現(xiàn)提示框:'賬號(hào)或密碼有誤!', '錯(cuò)誤'
else
errordlg('賬號(hào)或密碼有誤!', '錯(cuò)誤');
end
hPass對(duì)應(yīng)生成的密碼框獲取的數(shù)據(jù)
xingmign對(duì)應(yīng)的是姓名欄可編輯文本的回調(diào)
②.以下代碼可更改figure界面名稱:
set(handles.figure1, 'Name', '登錄界面')
③.背景圖片的設(shè)置:
%回調(diào)到主函數(shù)_Outputfcn中
function varargout = denglu_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
picture = imread('tu3.png');
image(picture);
%handles.axes1 , axes1即為所放坐標(biāo)區(qū),handles.axes 是為得到圖顯,注意需
要注意的是,axes的句柄只能使用handles,不可使用guihandles,否則會(huì)報(bào)錯(cuò)。
set(handles.axes1, 'Visible', 'off', 'colorOrder', [0,0,1], 'units', 'normalized', 'position', [0 0 1 1]);
% Get default command line output from handles structure
varargout{1} = handles.output;
圖片“tu3.png”的路徑在當(dāng)前路徑,如果在其他路徑還需修改,例如:“D:\MATLAB\figure\tu1.png”,注意圖片格式,常用的為.png和.jpg
②.信號(hào)與系統(tǒng)仿真平臺(tái)
第一界面:同上
第二界面:兩個(gè)axes坐標(biāo)區(qū)分別顯示兩個(gè)圖片(下附代碼),
第三界面:可進(jìn)入“連續(xù)LTI系統(tǒng)的時(shí)域分析”
此界面也有三個(gè)子界面:
1.沖激和階躍仿真
2.系統(tǒng)零狀態(tài)和全響應(yīng)仿真
3.連續(xù)LTI系統(tǒng)的時(shí)域分析
第四界面:系統(tǒng)函數(shù)H(s)的仿真分析
最后界面:彩蛋(可獲源代碼自行發(fā)掘噢~)
附:
需要源碼可私信我
GUI內(nèi)置代碼詳細(xì)介紹可參閱:
https://blog.csdn.net/Smart_Devil/article/details/118275847
相關(guān)繪圖代碼可參閱:
https://blog.csdn.net/qq_45550375/article/details/122951903文章來源:http://www.zghlxwxcb.cn/news/detail-781500.html
更多精彩可前往下方地址哦~
https://space.bilibili.com/397740585文章來源地址http://www.zghlxwxcb.cn/news/detail-781500.html
到了這里,關(guān)于MATLAB GUI界面介紹(附:信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)的搭建及繪圖源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!