MATLAB GUI界面介绍(附:信号与系统实验平台的搭建)
目录
本文侧重介绍MATLAB相关问题,信号与系统的知识后续出文。
一、首页预览(GUI)
二、详细介绍(GUI界面)
1.首先了解一下什么是GUI:
GUI又称图形用户界面,在MATLAB中常用的是使用“guide”命令搭建GUI界面。虽然现版本出了APP设计,但GUI还是经典。
第一步:
命令行窗口输入>>guide
第二步:
选择新建文件(或者打开已存在的文件),建立新的GUI界面
第三步:
将会出现GUI界面以及相关的m文件
此处为m文件的主函数段,不可随意更改,不然会导致初始化失败。
2.GUI界面的介绍:
菜单区
在菜单编辑器中,可以设计GUI常用的菜单选项
菜单编辑器中可以设置多项选项,可以设置相互之间的优先关系
关于菜单栏的介绍详情可参考:
https://blog.csdn.net/ywsydwsbn/article/details/125052769
控件区和工作区
对于小白来说,可以将控件名称显示出来
3.控件功能及回调函数
控件常用的大致可分为以下几类:按钮,文本,坐标区以及面板等
按钮
以普通按钮为例,选中拖入工作区,双击进入此控件的属性检查器,常用属性如图所示:
文本
可编辑文本:此控件在运行后可接收键盘输入内容,回调函数中可结合按钮进行相关操作。
静态文本:在属性检查器中可修改文本内容,起到标题、提示等作用,可更改文本背景颜色,使其更加美观。
坐标区
坐标区可作为背景图片的控件,结合其他控件可实现关联以及多种功能。
函数回调及相关操作
以按钮为例,右键控件–>查看回调–>callback,及定位返回到按钮函数所在编辑器的位置
第二张图红圈中的及是该按钮 的回调标签,可用以下两种方法查看及修改:
第一种:双击按钮进入属性检查器,tag中修改。
第二种:在工作区空白区域右键进入对象浏览器,可查看全局所有控件的标签
4.设计及部分代码展示
①.GUI绘图
第一界面:自己设置的登录界面,需要输入正确的账号和密码。
第二界面:绘图界面,设置了三种绘图参数,peaks,membrane,sinc。可以通过输入仰角和方位角,并设置了四种色系和三种着色方式。
mesh,surf,contour3三种网格图显方式,可以通过按键实现网格的隐藏。
①.以下部分代码实现了登录账号和登录密码的设置:
%此处为按钮“登录”的回调片段 不用改动
%--- 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')%当账户和密码都满足所设条件时,即可关闭当前界面(denglu及第一界面),打开新的界面(demo及第二界面)
ifstrcmp(name,'Abbotrush')&&(a2==12345678);close(denglu);
demo;%如果不满足条件,则会出现提示框:'账号或密码有误!','错误'elseerrordlg('账号或密码有误!','错误');
end
hPass对应生成的密码框获取的数据
xingmign对应的是姓名栏可编辑文本的回调
②.以下代码可更改figure界面名称:
set(handles.figure1,'Name','登录界面')
③.背景图片的设置:
%回调到主函数_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即为所放坐标区,handles.axes 是为得到图显,注意需
要注意的是,axes的句柄只能使用handles,不可使用guihandles,否则会报错。
set(handles.axes1,'Visible','off','colorOrder',[0,0,1],'units','normalized','position',[0011]);% Get default command line output from handles structure
varargout{1}= handles.output;
图片“tu3.png”的路径在当前路径,如果在其他路径还需修改,例如:“D:\MATLAB\figure\tu1.png”,注意图片格式,常用的为.png和.jpg
②.信号与系统仿真平台
第一界面:同上
第二界面:两个axes坐标区分别显示两个图片(下附代码),
第三界面:可进入“连续LTI系统的时域分析”
此界面也有三个子界面:
1.冲激和阶跃仿真
2.系统零状态和全响应仿真
3.连续LTI系统的时域分析
第四界面:系统函数H(s)的仿真分析
最后界面:彩蛋(可获源代码自行发掘噢~)
附:
需要源码可私信我
GUI内置代码详细介绍可参阅:
https://blog.csdn.net/Smart_Devil/article/details/118275847
相关绘图代码可参阅:
https://blog.csdn.net/qq_45550375/article/details/122951903
更多精彩可前往下方地址哦~
https://space.bilibili.com/397740585
版权归原作者 Abbotrush 所有, 如有侵权,请联系我们删除。