MATLAB的交互式界面 简易设计 您所在的位置:网站首页 matlab界面怎么做 MATLAB的交互式界面 简易设计

MATLAB的交互式界面 简易设计

#MATLAB的交互式界面 简易设计| 来源: 网络整理| 查看: 265

本文是对初步接触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绘制如下函数得到一个动态爱心,于是拿来做个简易的实验

绘制函数图像:y=x^{\frac{2}{3}}+0.9(3.3-x^{2})^{0.5}sin(a\pi x)

其中参数a的范围是0到20

由于实际用MATLAB绘制如上函数图像时两端不在同一水平线上,右端有一个近似的线性漂移,于是在原函数基础上减去一个线性项,也就是绘制如下函数图像:

y=x^{\frac{2}{3}}+0.9(3.3-x^{2})^{0.5}sin(a\pi x)-(\frac{2.5}{4}x+0.25)

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 实验室设备网 版权所有