MATLAB的交互式界面 简易设计 | 您所在的位置:网站首页 › matlab界面怎么做 › MATLAB的交互式界面 简易设计 |
本文是对初步接触GUI的简易笔记,主要包括:界面的打开、基本按钮的设置、按钮值的调用、简单实验 一:打开GUI 在MATLAB命令窗口输入:guide MATLAB会弹出GUI的快速界面如图1 一般选择空白GUI,勾选fig则会弹出MATLAB代码和GUI设计界面,如图2 图1:快速开始界面 图2:code&GUI 二、选择相应的目标 拖拽菜单栏的相应目标到网格区域: slider: 滑块,可以通过调节滑块使得某一数值在一个区间内连续改变 bottom:按钮,点击按钮则会完成一个操作 (radio bottom、check bottom、menu、listbox、bottom group可组合成单选框和复选框) EDIT:编辑框,即时输入数值 TXT:静态文本框,显式表达各种标题和文本,不可改变 table:表格 axes:坐标图 拖拽到网格区域后,双击某一目标,打开简易的属性设置,如图3: 图3:操作目标的属性设置属性编辑的两种方法: 1、可以直接修改某项的值,比如:‘string’--命名,FontSize--字号大小 2、通过点击目标的右键---view callback---callback,打开对应目标手柄的代码段 下列slider的例子: function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider %设置滑块的取值范围为0~20 set(hObject,'Min',0); set(hObject,'Max',20);绘图的命令可以直接写在slider下面,也可以再添加一个bottom来控制 三、目标值的调用 1、句柄代码段内部的调用 直接用get调用 a=get(hObject,'Value');2、不同句柄之间的调用 用handles.tag调用,例如:将滑块的值显式在旁边的编辑框中,则在滑块的callback中添加代码: set(handles.edit1,'String',num2str(get(hObject,'Value')));将滑块的“Value”转化成字符串之后赋给 edit1 的 “String” 四、一个实验 今天(情人节)刷手机看到有人用GeoGebra绘制如下函数得到一个动态爱心,于是拿来做个简易的实验 绘制函数图像: 其中参数a的范围是0到20 由于实际用MATLAB绘制如上函数图像时两端不在同一水平线上,右端有一个近似的线性漂移,于是在原函数基础上减去一个线性项,也就是绘制如下函数图像: slider1的代码修改如下: %设置滑块范围 set(hObject,'Min',0); set(hObject,'Max',20); %将滑块值输出到编辑框中 set(handles.edit1,'String',num2str(get(hObject,'Value'))); axis off; %隐去坐标轴 set(gcf,'menubar','none','toolbar','none');%不显示当前figure 菜单栏和工具栏 x=-2:0.005:2; %可调参数 n=size(x,2); %调用滑块值 a=get(hObject,'Value'); for i=1:n y(i)=x(i)^(2/3)+0.9*(3.3-x(i)^2)^0.5*sin(a*pi*x(i))-2.5/4*x(i)-0.25; end plot(x,y,'r') %打开旋转 rotate3d on添加一个静态文本框作为标题: 改变名字,“String”--Love story,改变字号和颜色 最后得到如下的交互界面,如图4: 图4:当a取值为18.545时对应的爱心
本文只是一个简单的尝试,更多关于MATLAB的GUI的设计会在以后继续学习补充。 |
CopyRight 2018-2019 实验室设备网 版权所有 |