Matlab GUI为图形用户界面,可以理解为相当于做一个软件,将输入输出函数操作通过交互界面表现出来,下面简单讲述一些Matlab GUI入门知识。
创建新的GUI界面
GUI系统包含两种文件,一种是.fig文件,用于设计页面,另一种是.m文件,用来存放控件操作。
创建.fig文件
打开Matlab,在命令行窗口中输入
1
guide
回车,弹出GUIDE快速入门弹窗;
选中默认的 Blank GUI (Default) ,点击确定新建GUI,自动生成新的.fig页面文件;
完成GUI的.fig文件的新建。
创建.fig文件
保存.fig文件时,会自动生成相对应的.m的文件。
现在,一个GUI界面已经搭建完成,你可以在.fig文件里增加修改控件、设计页面,在.m文件里编写逻辑代码。
.fig的页面设计
控件
左侧的控件栏里面直接可通过拖拽放入控件,下面简单介绍一下课设里几种常用的控件。
按钮
双击拖拽出来的按钮,可进入按钮的检查器,在检查器里设置按钮的属性。
检查器中比较重要的几个属性:
- | Tag | 控件的名称(不重名),.m通过Tag来唯一寻找该控件,建议将需调用的控件换成有意义的名字,方便调用。 |
| —————— | —————————————————————————————— |
| String | 控件里面的文字 |
| FontSize | 控件里面的文字的字体大小 |
| Visible | 控件初始是否可见 |
| Callback | 调用函数(如是按钮的话,则点击按钮就会调用该函数),双击中间的书写按钮matlab会自动跳转到相应的.m中的调用函数的位置,方便书写 |
可编辑文本
可编辑文本,可通过交互界面来进行编辑,当然也可在检查器中String里直接设置其初始值,常用于参数输入。
静态文本
静态文本,不可通过交互界面来进行编辑,可设置String初始文本,也可通过.m修改,用于描述文字和输出。
坐标区
坐标区,用于画图(动画、坐标图等)。
面板
面板,可将各控件组合成一个集合,方便移动,显示更清晰。
工具
介绍两个我觉得用得到的。
对齐对象
用于对齐控件,使页面整齐美观。
例如,随意拖入几个文本,选中全部,设置好横纵对齐分布格式,点击应用。
瞬间就整齐了。
运行
可方便地查看页面显示。
.m的文件编写
查看修改控件属性
应用广泛,比如检测输入框输入的内容和输出到输出的静态文本框。
检测输入框输入的内容:
1 | x = str2num(get(handles.Tagname, 'string')); % 从Tag属性为Tagname的String属性中获取x的string格式,再转为num(即在Tagname中输入的x) |
输出到输出的静态文本框:
1 | set(handles.Tagname, 'string', num2str(y)); % 将参数y先从num转为string,再设置到Tag属性为Tagname的String属性中(即在Tagname中显示y) |
页面跳转
1 | h = gcf; % 本页面(不需关闭本页面此句省略) |
页面之间传参
既然有跳转,那就免不了传参,最简单的方法就是设置全局变量(适用于小系统)。
在用到该全局变量的函数开头都声明该全局变量即可。
1 | global x |
画图
例如绘制一个三角函数
先在界面放置好axes控件,这里命名为axes1;
1 | X = 0:0.01:pi; % 设置x的范围(起始值:采样间隔:终止值) |