欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    matlab gui入门到精通.docx

    • 资源ID:1932484       资源大小:518.48KB        全文页数:126页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab gui入门到精通.docx

    1、matlab gui入门到精通图形用户界面(GUI)制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。 图形用户界面(Graphical User Interfaces ,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的

    2、演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 MATLAB为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。MATLAB的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。 即便比较熟悉MATLAB的读者,在他初次编写GUI程序时,也会感到棘手。为使读者获得制作自己GUI的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提供的程序,就可引出相应的界面。 本章第2节叙述图形用户界面的设计原则和一般制作步骤。第3、4节分别介绍用户菜单、用户控件的制作。出于“由浅入深”的考虑,前4节

    3、制作GUI是通过M脚本文件实现的。利用M函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。MATLAB 5.x版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。11.1 入门【*例11.1-1】对于传递函数为的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A)图形界面的大致生成过程;(B)静态文本和编辑框的生成;(C)坐标方格控制键的形成;(D)如何使用该界面。(

    4、1)产生图形窗和轴位框:clf resetH=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,

    5、. xlim,0 15,ylim,0 1.8,fontsize,8);图 11.1-1 产生坐标轴(2)在坐标框右侧生成作解释用的“静态文本”和可接受输入的“编辑框”: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,

    6、left,. callback,. z=str2num(get(gcbo,string);,. t=0:0.1:15;,. for k=1:length(z);,. s2=tf(1,1 2*z(k) 1); ,. y(:,k)=step(s2,t);,. plot(t,y(:,k);,. if (length(z)1) ,hold on,end,. end;,. hold off,);图 11.1-2 在图形界面中添加编辑框和文本框(3)形成坐标方格控制按键:h_push1=uicontrol(h_fig,style,push,. unit,normalized,position,0.67,0

    7、.37,0.12,0.15,. string,grid on,callback,grid on);h_push2=uicontrol(h_fig,style,push,. unit,normalized,position,0.67,0.15,0.12,0.15,. string,grid off,callback,grid off);图 11.1-3 添加了两个按键的图形界面(4)输入阻尼比系数,可得单位阶跃响应曲线:图 11.1-4 输入标量阻尼比所得到的响应曲线图 11.1-5 输入阻尼比数组所得到的一组响应曲线11.2 图形用户界面的设计原则和一般步骤11.2.1 设计原则11.2.2

    8、一般制作步骤11.3 界面菜单(uimenu)11.3.1 图形窗的标准菜单【例11.3.1-1】本例说明:如何隐藏和恢复标准菜单的显示。(1)获得缺省设置的标准菜单 figure(2)隐去标准菜单的两种方法set(H_fig , MenuBar,none);set(gcf,menubar,menubar);(3)恢复图形窗上标准菜单set(gcf,menubar,figure);图 11.3.1-1 含有菜单条的图形窗图 11.3.1-2 移去菜单条的图形窗11.3.2 自制的用户菜单【*例11.3.2-1】本例演示:如何自制一个带下拉菜单表的用户菜单(如图11.3.2-1所示)。该菜单能使

    9、图形窗背景颜色设置为兰色或红色。figure %创建一个图形窗h_menu=uimenu(gcf,label,Color); %制作用户顶层菜单项Color h_submenu1=uimenu(h_menu,label,Blue,. %制作下拉菜单项Blue callback,set(gcf,Color,blue); %h_submenu2=uimenu(h_menu,label,Red,. %制作下拉菜单Red callback,set(gcf,Color,red); %图 11.3.2-1 创建用户菜单示例11.3.3 用户菜单的属性11.3.3.1 回调属性和菜单名【*例11.3.3.1

    10、-1】本例的目标是:在图形窗上自制一个名为【Test】的“顶层菜单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。通过本例说明:(A)回调属性的运作机理;(B)用户顶层菜单项的制作(C)uimenu属性的设置方法;(D)复杂字符串的构成方法和注意事项。(1)在MATLAB指令窗中运行以下程序可产生带分格的封闭坐标轴(见图11.3.3.1-1)grid on,set(gca,box,on) 图11.3.3.1-1 带分格的封闭坐标轴(2)在MATLAB指令窗中用以下eval指令可产生与图11.3.3.1-1相同的界面eval(grid on,set(gca,box,on) (3)产生

    11、图11.3.3.1-2界面的uimenu的书写格式一:直接连续表示法uimenu(Label,Test,Callback,grid on,set(gca,box,on),) 图11.3.3.1-2 通过顶层菜单Test形成的带分格的封闭坐标轴(4)产生图11.3.3.1-2界面的uimenu的书写格式二:方括号续行号表示法uimenu(Label,Test, . Callback,grid on, , . set(gca,box,on);) (5)产生图11.3.3.1-2界面的uimenu的书写格式三:串变量法Lpv=Test;Cpv=grid on,set(gca,box,on),;uim

    12、enu(Label, Lpv, Callback , Cpv) (6)产生图11.3.3.1-2界面的uimenu的书写格式四:构架表示法PS.Label=Test;PS.Callback=grid on;,set(gca,box,on);uimenu(PS) 11.3.3.2 设置简捷键或快捷键【*例11.3.3.2-1】本例目标:使图11.3.2-1所示菜单成为图11.3.3.2-1那样,Color菜单项及其下拉的Blue菜单各带一个简捷键,而另一项下拉菜单Red带一个快捷键。exm11332_1.mfigureh_menu=uimenu(gcf,Label,&Color); %带简捷键C

    13、的用户菜单Color h_submenu1=uimenu(h_menu,Label,&Blue,. %带简捷键B的的下拉菜单Blue Callback,set(gcf,color,blue);h_submenu2=uimenu(h_menu,label,Red,. %制作另一个下拉菜单Red Callback,set(gcf,color,red),. Accelerator,r); %为Red菜单设置快捷键R 图 11.3.3.2-1 为用户菜单设置快捷键11.3.3.3 用户菜单的外观设计【*例11.3.3.3-1】本例演示:()把用户菜单 Option 设置为顶层的第菜单项;()下拉菜单被

    14、两条分隔线分为三个菜单区;()最下菜单项又有两个子菜单组成。()编写程序,生成如图11.3.3.3-1所示界面exm11333_1.mfigureh_menu=uimenu(label,Option,Position,3);h_sub1=uimenu(h_menu,label,grid on,callback,grid on);h_sub2=uimenu(h_menu,label,grid off,callback,grid on);h_sub3=uimenu(h_menu,label,box on,callback,box on,. separator,on); %h_sub4=uimenu

    15、(h_menu,label,box off,callback,box off);h_sub5=uimenu(h_menu,label,Figure Color,Separator,on); %h_subsub1=uimenu(h_sub5,label,Red,ForeGroundColor,r,. % callback,set(gcf,Color,r);h_subsub2=uimenu(h_sub5,label,Reset,. callback,set(gcf,Color,w);图11.3.3.3-1()位置属性的获取Pos_O=get(h_menu,position), %查询Option菜

    16、单位置值Pos_BoxOn=get(h_sub3,position) %查询box ob子菜单位置值Pos_Red=get(h_subsub1,position) %查询red子菜单的位置值 Pos_O = 3Pos_BoxOn = 3Pos_Red = 1 【*例11.3.3.3-2】本例演示:当某菜单项选中后,如何使该菜单项贴上检录符“”。exm11333_2.mfigureh_menu=uimenu(label,Option);h_sub1=uimenu(h_menu,label,Grid on,. % callback,. grid on,. set(h_sub1,checked,on

    17、),. set(h_sub2,checked,off),. );h_sub2=uimenu(h_menu,label,Grid off,. % callback,. grid off,. set(h_sub2,checked,on),. set(h_sub1,checked,off),. ); 图 11.3.3.3-2 Grid on菜单选中后出现检录符11.3.3.4 使能(Enable)与可见性(Visible)属性【*例11.3.3.4-1】 本例目标:制作一个带四个子菜单项的顶层菜单项;该下拉菜单分为两个功能区;每个功能区的两个菜单项是相互对立的,因此采用使能属性处理;当图形窗坐标轴消

    18、隐时,整个坐标分隔控制功能区不可见。(1)编写如下脚本M文件exm11334_1.mexm11334_1.mclfh_menu=uimenu(label,Option); %产生顶层菜单项Optionh_sub1=uimenu(h_menu,label,Axis on); %产生Axis on菜单项,由缺省设置而使能h_sub2=uimenu(h_menu,label,Axis off,. enable,off); %产生Axis off菜单项,但失能h_sub3=uimenu(h_menu,label,Grid on,. separator,on,visible,off); %产生与上分隔的

    19、Grid on菜单项,但不可见h_sub4=uimenu(h_menu,label,Grid off,. visible,off); %产生Grid off菜单项,但不可见set(h_sub1,callback,. %选中Axis on菜单项后,产生回调操作 Axis on,. %画坐标 set(h_sub1,enable,off),. %Axis on菜单项失能 set(h_sub2,enable,on),. %Axis off菜单项使能 set(h_sub3,visible,on),. %Grid on菜单项可见 set(h_sub4,visible,on),); %Grid off菜单项

    20、可见set(h_sub2,callback,. % %选中Axis off菜单项后,产生回调操作 axis off,. %使坐标消失 set(h_sub1,enable,on),. %Axis on菜单项使能 set(h_sub2,enable,off),. %Axis off菜单项失能 set(h_sub3,visible,off),. %Grid on菜单项不可见 set(h_sub4,visible,off),); %Grid off菜单项不可见set(h_sub3,callback,. %选中Grid on菜单项后,产生回调 grid on,. %画坐标分格线 set(h_sub3,e

    21、nable,off),. %Grid on菜单项失能 set(h_sub4,enable,on),); %Grid off菜单项使能set(h_sub4,callback,. %选中Grid off菜单项,产生回调 grid off,. %消除坐标分格线 set(h_sub3,enable,on),. %Grid on菜单项使能 set(h_sub4,enable,off),); %Grid off菜单项失能 (2)在MATLAB指令窗中运行exm11334_1 ,得到图11.3.3.4-1所示的界面图11.3.3.4-1(3)选中【Option】菜单项,界面呈现如图11.3.3.4-2 所示

    22、。图11.3.3.4-2(4)选中【Option:Axis on】后,界面呈现如图11.3.3.4-3 所示。图11.3.3.4-3(5)选中【Option:Grid on】后,界面呈现如图11.3.3.4-4 所示。图11.3.3.4-411.3.4 现场菜单的制作【*例11.3.4-1】目标:绘制一条Sa曲线,创建一个与之相联系的现场菜单,用以控制Sa曲线的颜色。(1)编写脚本M文件exm1134_1.mexm1134_1.mt=(-3*pi:pi/50:3*pi)+eps;y=sin(t)./t;hline=plot(t,y); %绘制Sa曲线cm=uicontextmenu; %创建现

    23、场菜单%制作具体菜单项,定义相应的回调uimenu(cm,label,Red,callback,set(hline,color,r),)uimenu(cm,label,Blue,callback,set(hline,color,b),)uimenu(cm,label,Green,callback,set(hline,color,g),)set(hline,uicontextmenu,cm) %使cm现场菜单与Sa曲线相联系(2)在指令窗中运行文件exm1134_1.m ,得到图11.3.4-1所示的(但为蓝色的)Sa曲线。图 11.3.4-1 Context菜单(3)将鼠标指针指向线条,点击鼠

    24、标右键的同时弹出现场菜单,在选中某菜单项(如Red)后,Sa曲线就改变(为红)颜色(如图11.3.4-1所示)。11.4 用户控件(uicontrol)11.4.1 控件制作函数11.4.2 用户控件的种类11.4.3 控件制作示例11.4.3.1 双位按键、无线电按键、控件区域框示例【*例11.4.3.1-1】目标:创建一个界面包含4种控件:静态文本、“无线电”选择开关、双位按键、控件区域框。exm11431_1.mclf resetset(gcf,menubar,none)set(gcf,unit,normalized,position,0.2,0.2,0.64,0.32); set(gc

    25、f,defaultuicontrolunits,normalized) %设置用户缺省控件单位属性值h_axes=axes(position,0.05,0.2,0.6,0.6); t=0:pi/50:2*pi;y=sin(t);plot(t,y);set(h_axes,xlim,0,2*pi);set(gcf,defaultuicontrolhorizontal,left);htitle=title(正弦曲线);set(gcf,defaultuicontrolfontsize,12); %设置用户缺省控件字体属性值uicontrol(style,frame,. %创建用户控件区 positio

    26、n,0.67,0.55,0.25,0.25); uicontrol(style,text,. %创建静态文本框 string,正斜体图名:,. position,0.68,0.77,0.18,0.1,. horizontal,left); hr1=uicontrol(gcf,style,radio,. %创建“无线电”选择按键 string,正体,. %按键功能的文字标识正体 position,0.7,0.69,0.15,0.08); %按键位置set(hr1,value,get(hr1,Max);%因图名缺省使用正体,所以小圆圈应被点黑 set(hr1,callback,. % set(hr1,value,get(hr1,max),. %选中将小圆圈点黑 set(hr2,value,get(hr2,min),. %将“互斥”选项点白 set(htitle,fontangle,normal),. %使图名字体正体显示 ); hr2=uicontrol(gcf,style,radio,. %创建“无线电”选择按键 string,斜体,. %按键功能的文字标识斜体 position,0.7,0.58,0.15,0.08,. %按键位置 callback,. set(hr1,


    注意事项

    本文(matlab gui入门到精通.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开