MatlabGUI入门.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MatlabGUI入门

第七章 GUIDE入门 ;7.1 概 述 ; 在MATLAB中创建图形用户界面的方法有两种——图形句柄和GUIDE,这两种实现的方法都需要使用M语言编程,但是技术的侧重点不同。其实GUIDE创建图形用户界面的基础也是图形句柄对象,只不过是具有很好的封装,使用起来简便,而且还能够做到可视化的开发,对于一般的用户使用GUIDE创建图形用户界面应用程序已经足够了。MATLAB提供了基本的用户界面元素,包括菜单、快捷菜单、按钮、复选框、单选框、文本编辑框、静态文本、下拉列表框、列表框等。需要注意的是,MATLAB的图形用户界面程序大多数是对话框应用程序,利用MATLAB编写文档视图应用程序相对来说比较困难。 ; 使用GUIDE和图形句柄创建的图形用户界面的主要区别在于,利用图形句柄创建的图形界面应用程序只有一个文件——M文件,而利用GUIDE创建的图形用户界面应用程序一般由两个文件组成,一个是应用程序文件——M文件,另一个是外观文件——fig文件。 MATLAB图形用户界面的例子非常多,不仅在MATLAB的Demos中有很多用户界面的例子,如图7-1所示,在MATLAB的工具箱中也有很多是利用GUIDE编写的小工具,不过早期的MATLAB工具多数都使用图形句柄进行开发。若MATLAB的图形用户界面功能不能够满足用户的需要,用户还可以利用Java语言的工程来扩充界面功能,不过使用Java语言来扩充MATLAB的功能属于MATLAB外部接口编程的内容,有兴趣的读者可以参阅MATLAB的帮助文档或者《MATLAB外部接口编程》一书。 ;图7-1 MATLAB图形用户界面示例; 通过如图7-1所示的界面,用户可以不必过多了解内部细节就可以使用MATLAB的强大数据可视化和计算的功能了。例如,单击用户界面右边的按钮,可以在图形窗体的绘图区域绘制各种图形,同时在文本显示区域显示具体命令行代码,如图7-2所示。 ;图7-2 显示具体的算法以及图形 ;7.2 图形句柄入门 ;MATLAB的图形对象是按照一定的层次排列的,如图7-3所示。 ; 在图7-3中,除了最上一层的屏幕(root)对象以外,每一种对象都具有自己的父层次对象,即对象的上一层次的对象,而自己下一层次的对象都被称为子对象。 具体来说,一个图形界面在Windows操作系统中的层次分布如图7-4所示。 ;图7-4 图形句柄的具体层次 ; 在MATLAB中,只要获得了图形对象的句柄,就可以通过对属性的操作来修改图形对象的外观,这也是MATLAB图形用户界面编程的基本原理。MATLAB提供了若干函数用来对图形句柄进行操作,这其中较为常用的函数在表7-1中进行了总结。 ;表7-1 常用的图形句柄操作函数 ;例子7-1 使用图形句柄。 在MATLAB命令行窗口中,键入下面的指令: X = linspace(-pi,pi,25); Y = sin(X); plot(X,Y,rX); 这时的图形结果为红色的以“X”为符号的正弦曲线,如图7-5所示。 ;图7-5 绘制的原始图形 ;获取当前的曲线对象句柄: h_line = findobj(gca,Marker,X) h_line = 3.0011 尽管这里h_line为一个双精度的数值,但这个数值变量具有特殊的意义,它代表了在当前坐标轴上绘制的曲线,可以通过这个变量来操作曲线对象,例如获取整个曲线的属性列表: get(h_line) Color = [1 0 0] EraseMode = normal ; LineStyle = none LineWidth = [0.5] Marker = x MarkerSize = [6] MarkerEdgeColor = auto MarkerFaceColor = none XData = [ (1 by 25) double array] YData = [ (1 by 25) double array] ZData = [] ? BeingDeleted = off ButtonDownFcn = Children = [] ; Clipping = on CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HitTest = on Interruptible = on Parent = [101.001] Selected = off SelectionHighlight = on Tag = Type = li

文档评论(0)

gm8099 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档