欢迎来到天天文库
浏览记录
ID:57058243
大小:1.58 MB
页数:105页
时间:2020-07-30
《Matlab_ch7_GUI图形设计解读课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.GUI图形设计7.1概述7.2图形句柄入门7.3GUIDE工具入门7.4创建图形用户界面外观7.5图形用户界面编程7.6常用的图形界面函数2021/8/1417.1概述MATLAB作为一种科学计算软件,其基本功能需要通过M语言编程来实现图形用户界面的好处使用者可以不具备很深厚的MATLAB知识或者数学知识只要用户熟悉了解计算机的基本操作就可以完成相应的计算MATLAB的图形用户界面同流行的操作系统——Windows、Unix或者Linux类似,使用相同的外观样式图形用户界面应用程序可以做到一处编写到处运行,只要相应的平台上具有MATLAB即可2021/8/
2、142MATLAB中创建图形用户界面的方法图形句柄和GUIDE实现:都需要使用M语言编程,但是技术的侧重点不同GUIDE创建图形用户界面的基础也是图形句柄对象,只不过是具有很好的封装,使用起来简便,而且还能够做到可视化的开发GUIDE和图形句柄创建的图形用户界面的主要区别图形句柄:只有一个M文件GUIDE:一般由两个文件组成,即M文件构成的应用程序文件和fig文件形成的外观文件2021/8/143MATLAB提供了基本的用户界面元素菜单、快捷菜单、按钮、复选框、单选框、文本编辑框、静态文本、下拉列表框、列表框等MATLAB的图形用户界面程序大多数是对话框应用程
3、序,利用MATLAB编写文档视图应用程序相对来说比较困难MATLAB图形用户界面的例子非常多MATLAB的Demos如图7-1所示MATLAB的工具箱,早期的MATLAB工具多数都使用图形句柄进行开发若MATLAB的图形用户界面功能不能够满足用户的需要,用户还可以利用其他的高级语言的工程来扩充界面功能2021/8/144图7-1MATLAB图形用户界面示例利用该界面,用户可以不必过多了解内部细节就可以使用MATLAB的强大数据可视化和计算的功能了。2021/8/145图7-2显示具体的算法以及图形例如,单击用户界面右边的按钮,可以在图形窗体的绘图区域绘制各种图
4、形,同时在文本显示区域显示具体命令行代码2021/8/1467.2图形句柄入门MATLAB中有很多可视化函数这些函数都是将不同的曲线或者曲面绘制在图形窗体中图形窗体也就是由若干图形对象组成的可视化的图形界面MATLAB中每一个图形对象都有一个相应的句柄,这些句柄帮助系统标识这些对象,获取或者设置它们的属性。理解图形对象句柄也是进行图形界面创建的前提之一,所以首先简要介绍图形对象句柄的概念,以及图形句柄的使用方法2021/8/147MATLAB的图形对象是按照一定的层次排列的,如图7-3所示。图7-3图形句柄的层次除最上一层的屏幕(root)对象以外,每一种对象
5、都具有自己的父层次对象,即对象的上一层次的对象而自己下一层次的对象都被称为子对象。2021/8/148图7-4图形句柄的具体层次一个图形界面在Windows操作系统中的层次分布如图根对象UI菜单图形窗体控件坐标轴表面线条文本UI2021/8/149在MATLAB中,只要获得了图形对象的句柄,就可以通过对属性的操作来修改图形对象的外观,这也是MATLAB图形用户界面编程的基本原理。MATLAB提供了若干函数用来对图形句柄进行操作,这其中较为常用的函数在表7-1中进行了总结。表7-1常用的图形句柄操作函数2021/8/1410例子7-1使用图形句柄。在MATLAB
6、命令行窗口中,键入下面的指令:>>X=linspace(-pi,pi,25);>>Y=sin(X);>>plot(X,Y,'rX');这时的图形结果为红色的以“X”为符号的正弦曲线,如图7-5所示。2021/8/1411图7-5绘制的原始图形2021/8/1412获取当前的曲线对象句柄:>>h_line=findobj(gca,'Marker','X')h_line=3.0011尽管这里h_line为一个双精度的数值,但这个数值变量具有特殊的意义,它代表了在当前坐标轴上绘制的曲线,可以通过这个变量来操作曲线对象,例如获取整个曲线的属性列表:>>get(h_li
7、ne)Color=[100]EraseMode=normal2021/8/1413LineStyle=noneLineWidth=[0.5]Marker=xMarkerSize=[6]MarkerEdgeColor=autoMarkerFaceColor=noneXData=[(1by25)doublearray]YData=[(1by25)doublearray]ZData=[]BeingDeleted=offButtonDownFcn=Children=[]2021/8/1414Clipping=onCreateFcn=DeleteFcn=BusyActi
8、on=queueHandleVisib
此文档下载收益归作者所有