




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2013届毕业设计(论文) 材 料 院 、 部:电气与信息工程学院 学生姓名:廖卫平 指导教师:陈 坚 职称 讲师 成利香 职称 讲师 专 业:电气工程及其自动化 班 级:电气本0902班 学 号:09401240251 2013年6月材料清单1、毕业设计(论文)课题任务书2、开题报告3、工作进度检查表4、指导教师评阅表5、评阅教师评阅表6、答辩资格审查表7、答辩及最终成绩评定表8、毕业设计说明书湖南工学院2013届毕业设计(论文)课题任务书学院:电气与信息工程学院 专业: 电气工程及其自动化 指导教师陈坚、成利香学生姓名廖卫平课题名称 基于matlab的图形用户界面设计内容及任务图形用户界
2、面(graphical user interfaces,简称gui)是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的界面。本文主要利用matlab强大的计算功能和用户界面设计实现简易计算器和感应电动机性能分析的图形用户界面设计。本设计课题重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。第二,用guide编写一个简易计算器。基于matlab的简易计算器界面设计具有以下功能:1.实现十进制数的加、减、乘、除、乘方等简单四则运算;2.科学计算函数,包括三角函数、反三角函数、开方等函数运算;3.有后退键、清除键,能清除上一次运算的结果。基于
3、matlab的感应电动机性能分析界面设计具有以下功能:1.用户可以任意修改电动机等值电路的各参数;2.用户通过界面输入等值参数,可以得到感应电动机的等值电路及转矩与转子转速的关系曲线图;3.用户可以通过功能按钮键退出该界面。本文通过matlab的guide中的控件,可以制作出以上两个用户界面设计,然后在对各控件编写callback回调函数,就可以实现该界面应有的功能。最后我们用mcc命令把matlab编写的m文件变成.exe可执行文件,这样用户可以在没有安装matlab的环境下单独运行该程序,获得其界面。拟达到的要求或技术指标设计课题拟达到的要求如下:第一,在感应电动机的性能分析界面设计中,要
4、求设计的界面在用户指定的参数下,能够绘制出感应电动机的三相等值电路及其戴维南等值电路,并在等值电路的基础上求出感应电机一、二次侧的电流和电压、效率及定子的功率,在指定的转差率下能够绘制出感应电机的转矩-转速特性曲线并显示在界面上。第二,在简易计算器的界面设计中,要求用户设计的计算器能够实现四则运算、科学计算,并将计算结果显示在界面上。进度安排起止日期工作内容备注2013.3.6-2013.3.152013.3.16-2013.3.242013.3.25-2013.4.252013.4.26-2013.5.52013.5.6-2013.5.162013.5.17-2013.5.26收集资料、熟悉
5、毕业设计(论文)课题开题报告参数设计,软件编程方案调试编写毕业设计(论文)说明书进行总结、答辩准备主要参考资料1 陈杰. matlab宝典.北京:电子工业大学出版社,2011.12 罗华飞. matlab gui设计学习手记. 北京航空航天大学出版社,2011.23 张琨,高思超,毕靖.matlab2010从入门到精通.北京:电子工业大学出版社,2011.54 张平.matlab 基础与应用m.北京:北京航空航天大学出版社,2007.15 李显宏.matlab 7.x 界面设计与编译技巧m.北京:电子工业出版社,2006.2 6 王洪元.matlab语言及其在电子信息工程中的应用.北京: 清华
6、大学出版社,2006.27 谭浩强.c程序设计.北京:清华大学出版社,2005.78 钟麟,王峰.matlab 仿真技术与应用教程m.国防工业出版社,2002.69 查普曼 .matlab编程.科学出版社.2011.410 范洛恩,法恩.面向计算科学与工程的matlab编程.清华大学出版社.2012.12教研室意见年 月 日院主管领导意见年 月 日湖南工学院毕业设计(论文)开题报告 题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工程及其自动化1.课题任务的学习与理解图形用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法
7、。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。图形用户界面(graphical user interfaces ,gui)则是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,如实现计算、绘图等功能。若读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑gui的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个可以反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 matlab为表现其基本功能而设计的演示程序demo 是
8、使用图形界面的最好范例。matlab的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。整体来说, matlab中gui的建立有两大方式。第一种是直接通过程序编写的方式产生对象, 即利用uicontrol、uimenu、uicontextmenu 等函数以编写m文件的方式来开发整个gui。这种方式建立的菜单比较齐全, 并且不会额外产生一个.fig 文件, 程序代码通用性高, 因此当完成一个gui后, 该程序代码就可以复制到一般的matlab 的m文件中使用, 也可以复制到guide 的m文件中使用, 如此可以节省额外开发相同或类似对象的时间。但
9、用程序编写的方式建立对象非常繁杂, 不仅需要先规划好每一个对象的位置, 还要一一输入对象所有对应的属性名称和属性值。若不是非常熟悉的用户可能会难以控制。另一种方式是直接通过matlab 的gui编辑界面guide 来建立gui, 它有点类似visual basic 这一类的开发环境, 只要直接通过鼠标将对象拖拽到目的地, 就可以快速地建构出整个gui, 设计简单, 并可将几个图形对象加到一个图形上, 增强可视性。本设计课题通过matlab的gui 编辑界面guide 来建立感应电动机性能分析及简单计算器的图形用户界面(graphical user interfaces ,gui)。2.课题调研
10、综述matlab 是美国math works公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括matlab和simulink两大部分。matlab是矩阵实验室(matrix laboratory)的简称,和mathematica、maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。matlab具有很好的技术特点:1)界面友好
11、,编程效率高 matlab是一种以矩阵为基本变换单元曲可视化程序设计语言,语法结构简单,数据类型单一,指令表达方武非常接近于常用的数学公式。即使对于那些不太熟悉计算机编程的用户,只要有一点windows操作的经验,在短时间内就能快速掌握matlab 的主要内容和基本操作。matlab不仅能使用户免去大量经常重复的基本数学运算,收到事半功倍之鼓,而且其编译和执行速度都远远超过其采用c和fortran语言设计的程序。可以说,matlab在科学计算与工程应用方面的工程效率远远高于其他高级语言。2)功能强大,可扩展性强。matlab语言不但为用户提供了科学计算、数据分析与可视化、系统仿真等强大的功能,
12、而且还具有独树一帜的可扩展性特征。math works公司针对不同领域的应用,推出了自动控制、信号处理、图像处理、模糊逻辑、神经网络、小波分析、通信、等30多个具有专门功能的matlab 工具箱。各种工具箱中的函数可以链装,也可以由用户更改。matlab支持用户自由地进行二次开发,用户的应用程序既可以作为新的函数滚加到相应的工具箱中,也可以扩充为新的工具箱。这些年来,国外许多不同应用领域的专家使用matlab开发出了相当多的应用程序。3)图形功能,灵活且方便 ,matlab具有二维与三维绘图功能,在程序的运行过程中可以方便迅速地用图形、图像、声音、动画等多媒体技术直接表述数值计算结果,可以选择
13、不同的坐标系,可以设置颜色、线型、视角等,可以在图中加上比饲尺、标题等标记,可以在程序运行结束后改变图形标记、控制图形句柄等,并且还可以将图形嵌入到用户的word文件中。matalb 可以创建图形用户界面(gui) , 图形用户界面(gui)是指由窗口、菜单、图标、光标、按键、对话框和文本等各种图形对象组成的用户界面。它让用户定制用户与matlab的交互方式,而命令窗口不是唯一与matlab的交互方式。它是用户和计算机之间交流的工具。matlab 将所有gui支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功
14、能,可以轻松的获得更高质量的曲线图。为什么要在matlab中建立一个gui? 生成用户图形界面有以下几点好处: 编写一个需多次反复使用的实用函数,菜单、按钮、文本框作为输入方法具有意义; 编写函数或开发应用程序供别人使用; 创建一个过程、技术或分析方法的交互式示例; 3.研究内容基于前面的分析和本文的研究目的,我们重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。matlab 语言以复数矩阵作为基本编程单元, 具有强大的数值计算功能、图形表达功能及可视化的仿真环境。通过matlab提供的图形用户界面(gui) 设计与开发功能, 设计开发gui 应用于电路分析和计
15、算中, 可以使复杂的计算变得非常简便, 从而为感应电动机性能分析界面设计提供了一个有效的辅助工具。第二,用guide编写一个简易计算器。设计计算器能实现的功能有加、减、乘、除、后退、清零、三角函数等计算操作。4.设计进度安排 进度安排起止日期进度计划2013.3.62013.3.15收集资料、熟悉毕业设计(论文)课题 2013.3.162013.3.24开题报告 2013.3.252013.4.25参数设计,软件编程 2013.4.262013.5.5方案调试 2013.5.62013.5.16编写毕业设计(论文)说明书 2013.5.172013.5.26进行总结、答辩准备5.参考文献1 陈
16、杰. matlab宝典.北京:电子工业大学出版社,2011.12 罗华飞. matlab gui设计学习手记. 北京航空航天大学出版社,2011.23 张琨,高思超,毕靖.matlab2010从入门到精通.北京:电子工业大学出版社,2011.54 张平.matlab 基础与应用m.北京:北京航空航天大学出版社,2007.15 李显宏.matlab 7.x 界面设计与编译技巧m.北京:电子工业出版社,2006.2 6 王洪元.matlab语言及其在电子信息工程中的应用.北京: 清华大学出版社,2006.27 谭浩强.c程序设计.北京:清华大学出版社,2005.78 钟麟,王峰.matlab 仿真
17、技术与应用教程m.国防工业出版社,2002.69 查普曼 .matlab编程.科学出版社.2011.410 范洛恩,法恩.面向计算科学与工程的matlab编程.清华大学出版社.2012.12指导教师批阅意见 指导教师(签名): 年 月 日湖南工学院毕业设计(论文)工作进度检查表题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工程及其自动化指导教师填写学生开题情况学生调研及查阅文献情况毕业设计(论文)原计划有无调整学生是否按计划执行工作进度学生是否能独立完成工作任务学生的英文翻译情况学生每周接受指导的次数及时间毕业设计(论文)过程检查记录
18、情况学生的工作态度在相应选项划“”认真一般较差尚存在的问题及采取的措施(从教务系统中打印6次指导记录):1. 问:开题报告有什么格式要求吗?答:开题报告按表格里的格式打印即可。2. 问:如何处理matlab的函数句柄?答:进后台,使用get、set函数操作属性句柄值。3. 问:编写matlab的回调函数需要注意哪些问题?答:相应控件的callback函数只能在对应的tag名称处编写4. 问:gui中如何插入图片?答:使用image、imread等函数编写程序插入图片。5. 问:反三角函数的计算结果不正确,应如何修改callback程序?答:请看程序里的反三角函数是否为acos或acosd。6.
19、 问:毕业设计论文的格式有何要求?答:请参考学校相关文献规定。指导教师签字: 年 月 日学院意见: 负责人签字:年 月 日湖南工学院2013届毕业设计(论文)指导教师评阅表 学院:电气与信息工程学院 专业:电气工程及其自动化 学生姓名廖卫平学 号09401240251班 级电气本0902班专 业电气工程及其自动化指导教师姓名陈坚、成利香课题名称基于matlab的图形用户界面设计是否同意参加答辩:是 否指导教师评定成绩分值:指导教师签字: 年 月 日湖南工学院毕业设计(论文)评阅教师评语表题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工
20、程及其自动化评阅教师姓名张振飞职称高级实验师工作单位湖南工学院评分内容具 体 要 求总分评分开题情况调研论证能独立查阅文献资料及从事其他形式的调研,能较好地理解课题任务并提出实施方案,有分析整理各类信息并从中获取新知识的能力。10外文翻译摘要及外文资料翻译准确,文字流畅,符合规定内容及字数要求。10设计质量论证、分析、设计、计算、结构、建模、实验正确合理。35创新工作中有创新意识,有重大改进或独特见解,有一定实用价值。10撰写质量结构严谨,文字通顺,用语符合技术规范,图表清楚,书写格式规范,符合规定字数要求。15综合能力能综合运用所学知识和技能发现与解决实际问题。20总评分评阅教师评阅意见评阅
21、成绩评阅教师签名日期湖南工学院毕业设计(论文)答辩资格审查表题 目基于matlab的图形用户界面设计学生姓名廖卫平学号09401240251专 业电气工程及其自动化指导教师陈坚、成利香本设计课题是:基于matlab的图形用户界面设计,其研究步骤是:1,首先用matlab的guide编辑器进行界面编辑,然后将界面激活,此时matlab将会自动生成一个m文件和fig文件;2,用户在m文件中相应的位置编写各控件的callback了,编写完成后,当用户单击各按钮,就会按照callback的语句执行相应的操作。本课题重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。mat
22、lab 语言以复数矩阵作为基本编程单元, 具有强大的数值计算功能、图形表达功能及可视化的仿真环境。通过matlab提供的图形用户界面(gui) 设计与开发功能, 设计开发gui 应用于电路分析和计算中, 可以使复杂的计算变得非常简便, 从而为感应电动机性能分析界面设计提供了一个有效的辅助工具。第二,用guide编写一个简易计算器。设计的计算器能实现的功能有加、减、乘、除、后退、清零、三角函数等计算操作。本设计课题的创新之处在于应用matlab的guide编辑器进行感应电动机的界面设计,然后应用该界面进行感应电动机的性能分析,其调试结果符合设计要求。由于本设计课题的设计任务都已完成,且符合设计要
23、求,特向答辩资格审查小组提出答辩申请,望批准! 申请人签名: 年 月 日资 格 审 查 项 目是否01工作量是否达到所规定要求02文档资料是否齐全(任务书、开题报告、外文资料翻译、定稿论文及其相关附件资料等)03是否完成任务书规定的任务04完成的成果是否达到验收要求05是否剽窃他人成果或者直接照抄他人设计(论文)指导教师签名: 毕业设计(论文)答辩资格审查小组意见:符合答辩资格,同意答辩 不符合答辩资格,不同意答辩审查小组成员签名: 年 月 日注:此表中内容综述由学生填写,资格审查项目由指导教师填写。湖南工学院2013届毕业设计(论文)答辩及最终成绩评定表 学院:电气与信息工程学院 专业:电气
24、工程及其自动化学生姓名廖卫平学号09401240251班级电气本0902班答辩日期课题名称基于matlab的图形用户界面设计指导教师陈坚、成利香成 绩 评 定分值评 定小计陆秀令陈坚王小虎王勇刚李欣课题介绍思路清晰,语言表达准确,概念清楚,论点正确,实验方法科学,分析归纳合理,结论严谨,设计(论文)有应用价值。30答辩表现思维敏捷,回答问题有理论根据,基本概念清楚,主要问题回答准确大、深入,知识面宽。必答题40自由提问30合 计100答 辩 评 分分值:答辩小组长签名:答辩成绩a: 20指导教师评分分值:指导教师评定成绩b: 60评阅教师评分分值:评阅教师评定成绩c: 20最终评定成绩: 分数
25、: 等级:答辩委员会主任签名: 年 月 日 说明:最终评定成绩a+b+c,三个成绩的百分比由各系自己确定,但应控制在给定标准的10左右。 2013届毕业设计说明书 基于matlab的图形用户界面设计 院 、 部: 电气与信息工程学院 学生姓名: 廖卫平 指导教师: 陈 坚 职称 讲师 成利香 职称 讲师 专 业: 电气工程及其自动化 班 级: 电气本0902班 完成时间: 2013年5月30日 摘 要图形用户界面(graphical user interfaces,简称gui)是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的界面。matlab的图形用户界面设计采用了
26、面向对象的技术。本文主要利用matlab强大的数值计算功能和guide编辑器实现简易计算器和感应电动机性能分析的图形用户界面。基于matlab的简易计算器界面设计具有以下功能:1.实现十进制数的加、减、乘、除等简单四则运算;2.科学计算函数,包括三角函数、反三角函数、开方、乘方等函数运算;3. 有后退键、清除键,能清除上一次运算的结果。基于matlab的感应电动机性能分析界面设计具有以下功能:1.用户通过界面可以任意修改电动机等值电路的各参数;2.用户通过界面输入等值参数后,可以得到感应电动机的等值电路及转矩与转子转速的关系曲线图;3.用户可以通过功能按钮键退出该界面。本文主要通过matlab
27、的guide中的控件,制作出以上两个图形用户界面,然后再对各控件编写callback回调函数,就可以实现该界面应有的功能。最后我们用mcc命令把matlab编写的m文件编译成.exe可执行文件,这样用户可以在没有安装matlab的环境下单独运行该程序,获得其界面。 关键词:图形用户界面; matlab;简易计算器;感应电动机;回调函数abstractgui (graphical user interfaces, gui) is to point to by the mouse, windows, buttons, cursor, menus, icons, dialog boxes, and
28、text box composed of all kinds of graphic objects such as the user interface. matlab graphical user interface design using object-oriented technology. this paper use of matlab powerful numerical calculation function and guide editor implementation simple calculator and induction motor performance an
29、alysis of graphical user interface. simple calculator interface design based on matlab has the following features: 1. implementation of decimal addition, subtraction, multiplication, division, such as simple arithmetic; 2. scientific computing function, including the trigonometric function, inverse
30、trigonometric function, prescribing, chengfang, functional operation; 3. the back button, the clear key, can remove the results of the last operation. based on induction motor performance analysis of matlab interface design has the following features: 1. the user interface can arbitrarily modify mot
31、or equivalent circuit parameters; 2. input by the user interface the equivalent parameters, can get the equivalent circuit of induction motor and the relationship between the torque and rotor speed curve; 3. the user can through the button to exit the interface function button. controls within the g
32、uide mainly by matlab in this paper, to produce more than two graphical user interface, and then write a callback on the control callback function, can realize the function of the interface should have. finally, we use mcc command compiled into the matlab m file. exe executable file, so that users c
33、an not installed under the environment of matlab run it alone, get the interface.key words graphical user interfaces; matlab; simple calculator; inductionmotor; the callback function目 录1 设计课题目的、任务11.1 设计目的11.2 设计课题任务12 设计课题软件系统22.1 matlab的 gui软件系统介绍22.2 matlab的guide编辑器32.3 建立guide对象52.4 修改gui对象属性62.
34、5 guide中加入图案82.6 设计课题中的gui对象介绍82.7 编辑gui对象的callback93 设计课题界面设计、调试及程序113.1 设计课题界面设计113.1.1 简易计算器界面设计113.1.2 简易计算器调试123.1.3 感应电动机性能分析界面设计143.1.4 感应电动机性能分析界面调试163.2 设计课题的matlab程序173.2.1 简易计算器界面设计的matlab程序173.2.2 感应电动机性能分析界面设计的matlab程序174 设计课题m文件的编译184.1 安装编译器184.2 m文件的编译19结束语20参考文献21致 谢22附 录23附录a 简易计算器
35、界面设计的程序23附录b 感应电动机性能分析界面设计的程序361 设计课题目的、任务1.1 设计目的1.熟练掌握matlab的m语言实现图形用户界面程序设计。2.掌握matlab的图形用户界面对象的控制方式。3.掌握matalb的图形用户界面的绘图函数。4.掌握matlab 的m语言程序设计方法。1.2 设计课题任务基于本次的课题设计,我们重点研究以下两个方面的内容:第一,基于matlab的简易计算器界面设计。设计的计算器能实现的功能有加、减、乘、除、后退、清零、(反)三角函数等计算功能。本课题用matlab的m语言编写的图形界面设计较为简单,在gui设计中主要用到三种控件,说明框用文本编辑框
36、(edit text)编辑,显示框用静态文本框(static text)编辑,数字以及运算等按钮用命令按钮(push button)编辑,然后在通过各个按钮的callback回调函数,实现简单的计算功能。第二,基于matlab 的感应电动机性能分析界面的设计。matlab 语言以矩阵作为基本编程单元, 具有强大的数值计算功能、绘图功能及可视化的仿真环境。通过matlab提供的图形用户界面(graphical user interfaces,简称gui) 设计与开发功能, 设计开发出应用于感应电动机性能分析和参数计算的gui,从而为感应电动机性能分析提供了一个有效的软件计算工具,可以使复杂的数值
37、计算变得非常简便。2 设计课题软件系统2.1 matlab的 gui软件系统介绍矩阵实验室(matrix laboratory,简称matlab)是美国mathworks公司出品的数学软件,主要包括两大部分:matlab和simulink,可实现算法开发、工程数值计算和对动态系统进行建模、仿真等功能。matlab它在理工科的数值计算方面得到广泛的运用。matlab可以进行矩阵运算、绘制平面及空间图形、实现算法、创建用户界面、连接其他编程语言编写的程序等,主要应用于金融建模设计与分析、工程计算、图像处理、控制工程、信号处理与通信、信号检测等领域。matlab可以创建图形用户界面(graphica
38、l user interfaces,简称gui) , 图形用户界面是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的用户界面。它可以让用户自由定制与matlab的交互方式,而命令窗口不是唯一与matlab的交互方式。图形用户界面是用户和计算机之间进行交流的工具,matlab 将所有图形用户界面支持的用户控件都集成在这个环境中并提供界面外观、属性、行为响应方式的设置方法。随着版本的升级,这种界面设计能力也在不断加强,并且具有强大的绘图功能,可以很方便的获得更高质量的曲线图。matlab为表现其基本的功能而设计的演示程序demo 是用户开发设计图形界面的最好范例。在mat
39、lab的命令窗口中输入命令demo ,打开演示图形界面后,用户只要用鼠标进行选择和点击,就可浏览其中丰富多彩的内容。整体来说, matlab的图形用户界面设计有两种方式:第一种是直接通过程序编写的方式产生对象, 即利用uicontrol、uimenu、uicontextmenu 等函数编写的m文件来开发整个图形用户界面。用户使用这种方式建立的菜单比较齐全, 缺点是不会额外产生一个.fig 文件, 但是它的程序代码通用性很高, 因此当完成一个图形界面设计后, 该程序代码就可以复制到其他的matlab 的m文件中使用, 也可以复制到guide编辑器 的m文件中使用, 如此可以节省额外开发相同或类似
40、对象的时间。但用程序编写的方式建立对象非常繁杂, 不仅需要用户输入所要建立的对象属性名称和属性值,还需要用户事先规划好每一个对象的位置。若用户不是非常熟悉图形界面的设计,很可能会难以控制界面的布局。另一种开发图形用户界面的方式是直接通过matlab 的guide编辑器进行设计, 它有点类似visual basic 这一类的开发环境, 用户只需将对象直接用鼠标拖拽到相应位置, 就可以快速的开发设计出整个图形用户界面, 其设计比编程方式简单,并可将几个图形对象加到一个图形界面中, 增强可视性。生成图形用户界面有以下几点好处: 编写一个需多次反复使用的实用函数,使文本框、菜单、按钮作为输入方法具有重
41、要的意义; 编写函数或开发应用程序以供别人使用; 创建一个过程、分析方法或技术的交互式环境,方便用户使用;本设计课题主要是通过matlab的gui编辑界面guide编辑器来建立简易计算器与感应电动机性能分析的图形用户界面(graphical user interfaces,简称gui)。 2.2 matlab的guide编辑器刚开始建立gui时,使用guide编辑gui的速度将会比较快。用户可以直接在matlab的命令窗口中输入guide,或在matlab的start菜单选取【mtalat】【guide(gui builder)】选项或单击desktop工具栏上的按钮,都可以打开matlab的
42、guide编辑器来进行界面设计。 guide使用此编辑器能够快速地设计出gui,并且可以省略繁琐的函数,是以对象为导向的观念,使gui的设计更加灵活;此外,若通过matlab compiler编译为可执行文件或由matlab runtime server封装文件,就可以在没有matlab的环境下运行使用,以发挥最大效用。在matlab 7.10中,guide编辑界面如图1所示的“guide quick start” 对话框,提供了blank gui、modal question dialog、gui with axes and menu、gui with uicontrols4种样板。图1 “
43、guide quick start”对话框 blank gui样板:一个空的gui样板,必须由用户自行加入所需要的对象,双击此选项后,在gui编辑区内不会有任何的对象存在。 modal question dialog样板:在此编辑器中已经有用户建立的一个问题对话框。 gui with uicontrols样板:打开已经设计好的一些gui对象的guide编辑器,而在此编辑器中已经包含了由用户建立的一些具有计算功能的对象。 gui with axes and menu样板:在此编辑器中也已经有一些由用户设计好的gui对象,而这些对象主要用于计算与输出。在以上几个样板中,用户一般都是使用blank
44、gui来建立gui对象,选取完后单击ok按钮,即可打开如图2所示的gui编辑界面。图2 gui编辑界面2.3 建立guide对象在matlab中打开gui编辑界面后就可以进行gui设计了,如图2所示的guide 编辑界面中,左方提供了用户可选择的uicontrol对象。用户只需通过鼠标单击左方任一uicontrol对象后,然后在guide窗口内使用鼠标拖拽对象大小来放置,就可以建立好该对象。如图3所示,用户用鼠标选取push button对象后,直接在guide窗口内拖拽该对象的大小来放置push button即可。edit text、static text的建立方式与push button的
45、相同。用户建立完对象后,则在自己已经建立的对象上单击鼠标左键来选取该对象作为当前对象,即可修改各对象的大小,此时对象框的四周会显示四个黑点,即可直接用鼠标拖拽这些黑点来修改对象框的大小;同样可用鼠标选取该对象后,再拖拽移动对象即可修改对象的位置;用户可以使用鼠标直接拖拽右下角的黑点来进行修改整个gui窗口的大小。图3 gui的建立2.4 修改gui对象属性当建立完对象后,用户就可以开始修改对象的属性了,与前面介绍的方式一样,直接在该gui对象上双击鼠标即可打开如图4所示的属性检查器,里面包含了该对象所有可设置的属性值与属性名称。假设必须将图3内的push button对象的字形改为粗体字,因此
46、在该属性检查器中单击 “font weight”右方的按钮后,选取其中的“bold”选项就可以将字体改为粗体字;另外,如果我们要更改按钮的名称,用户可以通过修改string属性,与修改font weight的做法相同,但由于string属性必须是输入显示的名称,因此将原本的属性值push button删除后再输入用户所需设计的按钮名称即可。例如本设计课题中简易计算器的gui设计的后退按钮backspace属性设置,如图5所示。我们发现在guide中设置对象属性是比较方便的,用户仅需了解该属性的用途以及各对象间之间的关系,而不需要完整的去记整个属性的名称,并且可以直接通过交互式的界面来进行各对象
47、属性的修改,这样可以节省很多属性设置的时间,可以很快地建立一个符合我们要求的图形界面。图4 属性检查器图5 修改push button对象属性2.5 guide中加入图案在guide中加入图案,首先要在guide编辑界面中建立一个axes对象,作为图像显示的坐标轴,使用axes(句柄值)可以用来控制当前的坐标轴。在matlab中,一个完整的图像显示过程必须使用到几个函数,分别为imread(读取图像)、image(显示图像)、imwrite(写入图像),这样我们就可以将特定的图案显示在gui中,来美化我们的界面(有点类似于visual basic内的picture对象的效果)。 本设计课题中感
48、应电动机性能分析界面设计中显示的鼠笼式感应电机图像程序代码如下:ax=axes(position,0.7 0.72 0.2 0.2); %控制当前的坐标值x,map = imread(impic1,jpg);image(x)set(gca,visible,off) %设置坐标为隐藏,只显示图像ax1=axes(position,0 0.48 0.9 0.23);2.6 设计课题中的gui对象介绍下面简要介绍本设计课题使用的guide编辑器中对象的用途与使用方式。(1) push buttonpush button为gui最常使用也是最简单的对象,当用户按下push button时,matlab
49、就会立即依据其对应的callback程序来执行操作。以下为本设计课题的数字1按钮的callback,其tag属性为pushbutton1,这个按钮主要是用来进行数值计算,其整个对应的callback程序如下:%按键1响应% - executes on button press in pushbutton1.function pushbutton1_callback(hobject, eventdata, handles)global iitext_string = get(handles.text,string);if(strcmp(text_string,0.)=1)&(ii=0) set(
50、handles.text,string,1) ;elsetext_string =strcat(text_string,1);set(handles.text,string,text_string)endii=0;需要注意的是gui中的属性字符是不分大小写的,所以callback与callback及callback都是相同的。 (2) static text static text不同于edit text,不可以在执行中任意编辑输入值,因此static text主要用于制作显示框、状态信息、或其余资料(由string属性指定显示的文字),当然其显示的文字也是可以在执行中通过其他对象的callb
51、ack去编辑string属性的。例如当驱动某一对象的callback后,会将句柄值为a的static text的属性改为 “执行中”,该对象的callback为set(a,string,执行中)。(3) edit textedit text主要是用来当做一个输入的接口,以便用户能够输入字符串、字符或数字,因此edit text的属性string即可作为一个有效的沟通媒介。用户可以直接在edit text的callback中编写获取该edit text输入值的程序:get(gcbo,string),返回当前edit text输入的值,然后在通过userdata或global的方式,将该值传递到要使用的callback中,不过变量较多时,会造成管理上的不便,因此习惯上直接在要使用该值的callback中,编写获取edit text输入值的程序,如hh=findobj(tag,abc);ff=str2mun(get(hh,string);,表示将tag名称为abc的edit text中的输入值转换为数值后存储到ff变量中,这样就可省去变量传递的麻烦。此外,若多行输入时必须调整max与min的属性值是max-min1,一般习惯将max设为2。2.7 编辑gui对象的callback在matlab中,我们可以对句柄图形
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 谭崔培训课件
- 2025届黑龙江省龙东联盟高三11月考-历史试题(含答案)
- 颈椎病围手术期护理 2
- 大气污染技术规范
- 2025至2030年中国气动点焊机行业投资前景及策略咨询研究报告
- 2025至2030年中国气体分配器市场现状分析及前景预测报告
- 2025至2030年中国步进炉行业发展研究报告001
- 2025至2030年中国橡胶弯头行业发展研究报告
- 2025至2030年中国模动导丝器市场现状分析及前景预测报告
- 2025至2030年中国植物血球凝集素行业投资前景及策略咨询研究报告
- 跨境电商网站的设计挑战试题及答案
- 2024中国山东省集中供热行业发展趋势预测及投资战略咨询报告
- 肯德基店面试试题及答案
- 深信服下一代防火墙技术白皮书20231120
- 广州市白云区2025年招考社区居委会专职人员高频重点模拟试卷提升(共500题附带答案详解)
- 2025年辽宁省大连市高考语文一模试卷
- 统编版语文七年级下第18课《井冈翠竹》公开课一等奖创新教学设计
- 苏教版六年级数学下册第三单元《解决问题的策略(1)》课件
- 七年级数学新北师大版(2024)下册第一章《整式的乘除》单元检测习题(含简单答案)
- 《潮汕方言》课件
- 2025年督查督办制度范文(二篇)
评论
0/150
提交评论