【Matlab图形用户界面知识点合集】新手入门第十七天


前言

程序的用户界面是用户与计算机程序交互的方式。用户通过键盘、鼠标等输入设备与计算机交换信息。图形用户界面(GUI)是包含图形对象,如窗口、图标、菜单和文本的用户界面。用户以某种方式选择或激活这些对象,会引起动作或发生变化,例如调用计算机程序或者绘图。
在这里插入图片描述


1.创建GUI对象

用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
GUI对象可以由M文件或GUIDE创建,下面介绍这两种方法的应用。

1.1用M文件创建GUI对象

GUI设计工具包括以下几个:

  • 对象设计编辑器:在图形对象内创建和安排各种对象;
  • 菜单编辑器:创建,设置或修改下拉式菜单和内容式菜单;
  • 对象属性查看器:可查看每个对象的属性值, 也可修改和设置对象的属性值;
  • 位置调整工具:左右,上下对多个对象的位置进行调整;
  • 对象浏览器:可观察当前设计阶段的各个句柄图形对象。

MATLAB为用户提供了4个GUI模式供用户选择,分别是空白版(Blank GUI)、带有控件的模板(GUI with Uicontrols)、带有坐标轴和菜单的模板(GUI with Axes and Menu)和问答式对话框(Modal Questions Dialog)。一般选择默认模式(即Blank GUI)进入对象设计编辑器如下图所示。
在这里插入图片描述
【例】对于传递函数为在这里插入图片描述的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
首先在MATLAB中输入以下程序:

clf reset
H=axes('unit','normalized','position',[0,0,1,1],'visible','off');
set(gcf,'currentaxes',H);
str='\fontname{隶书}归一化二阶系统的阶跃响应曲线';
text(0.12,0.93,str,'fontsize',13);
h_fig=get(H,'parent');
set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]);
h_axes=axes('parent',h_fig,'unit','normalized','position',[0.1,0.15,0.55,0.7],...
 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);

运行后得到下面图形
在这里插入图片描述
再生成静态文本和编辑框,程序如下:

h_text=uicontrol(h_fig,'style','text',...
'unit','normalized','position',[0.67,0.73,0.25,0.14],...
'horizontal','left','string',{
   '输入阻尼比系数','zeta ='});
h_edit=uicontrol(h_fig,'style','edit',...
'unit','normalized','position',[0.67,0.59,0.25,0.14],...
'horizontal','left',...
'callback',[...
'z=str2num(get(gcbo,''string''));',...
't=0:0.1:15;',...
'for k=1:length(z);',...
'y(:,k)=step(1,[1 2*z(k) 1],t);',...
'plot(t,y(:,k));',...
'if (length(z)>1) ,hold on,end,',...
'end;',...
'hold off,']);

运行后得到下面图形
在这里插入图片描述
再形成坐标方格控制键,编写如下程序:

h_push1=uicontrol(h_fig,'style','push',...
'unit','normalized','position',[0.67,0.37,0.12,0.15],...
'string','grid on','callback','grid on')
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值