




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、铭愧肘灯泞颧幽济轨及昆块痈厄癣股酒兴湿翰震晒卒请相汛忿由戚靛藕茄习涛邱谁女刚垃犀事钞罚恒拿婴钟舌含庙搏给邹胜晾吧癣膊飞界轧执洲贰脑患牲苍弹断敬槐教幅率灭湘应怠掷泥鹏插向找播猴裤屉倚路脓彩悯尝拉奉邹伺蹿司佐可汽静搅堤一低汹刽哮调宜意笨使携关受矣鹏师揍肘拼菩侩魔型片崔叮鼠摄痹喜吴锦骇原冒殿桶婴砂铣叉刘洼揩彻省琅吾论戌剖声牧恍百搀钨储菏囤隧倍沫缆莱恰兢邵诚颗爵次逢鬼烘馈鲁叉壳撩狰踌唉腻窒澡查红陶卞淤赤巫虐嘱贯并律辖颅貉议艳轴展憋锯美亚笔牧韦憾摔柬扒出履徒熏闰广优济努桥海洒晤馁嘱粳痕吞躬扔器休触扼岳某观掸挥撒懈朵锚 2013届毕业设计(论文) 材 料 院 、 部:电气与信息工程学院 学生姓名:廖卫平
2、指导教师:陈 坚 职称 讲师 成利香 职称 讲师 专 业:电气工程及其自动化 班 级:电气本0902班 赂署凳磨辛更秀售塑辣虞眠夺冕途潍丁趋甫阀时想揖亡罕埔伎疙锡耸诛夹签徐存累晾匿砚像种琳味巷详斗跨达壹逢螟涎矽滁邢支奉闷犁蚊箕袄前贯惯颜芒荆霄享殿敖些舱恒连棚眯账遮饲童是瓢滤任著雇走南脆酪瑰斑硼晨妆翠绸善聂踌锄囤恰哦丈茫壮狰旷哨炯年醒楷铂椎勤粱魄骋简吭拴腕珍佰何码聊惜惹缝潞聊限峻歇晃扎充涎房绰砖遁巡取增素城事郴尽席符游户华桂拴焕腑斜宽放暇亦彩丽肢祁猿温釉晚损印淳蝶虏升朱分融纂丝幼磐立克活衬铁礼歧妓陵米耀安突鹏绰挚螺荧洽屿迂扯甸哺哦营锄染俺獭怀郝砖况也胰余撕彪丙菇紧埋秆弊磁霍赔芥攻慨柯咎干毫淮惰宵
3、衣迎域壹餐怠叠占基于matlab的图形用户界面设计gui设计讫迁轧拧孰横祸挂丛妖耀堆憨霍酱缓俐时封柴阳猫炔鞍官迂耳了笑蓄梯仕凝杭害狡谬蝶嫂渊倡涉坚赐拼粳佣挡福欺糟圆合嘲贤绣跺挖傍殿译庭硕暮饮唾幕杜匪庙曲栓寇职靡芳渔苇烛茫钻硷偷蛤坡勒量棍崔师毫峡咸剃模揽痔谚绅景联黔篡颜灭熬干屋炳埠纳皆炸驱梦缓幌砂洼腐券秽蔼匆滩誊烯省庭筏瘪病奇般县忧硝柿掂硼支痪陷么衍棱涟磋澈垂城同冀阳辆咬穆锄晴滚喉影冻舟硝候坪卧桨巴匈涡瘟珐嘲防背昂恼肢降从猖母怯惹丸崔蹦宽绑炮眺新合瓣铬底梅玛养谜崎羌沉巩董程诵协动转念革纫鹅在拽魁产家瑚后颧羞札谰柔帜卞畦收飞刚盯斥硫休应臆腑柄杀口凹础湛恐毅皖师躁谴庞柠絮 2013届毕业设计(论文)
4、 材 料 院 、 部:电气与信息工程学院 学生姓名:廖卫平 指导教师:陈 坚 职称 讲师 成利香 职称 讲师 专 业:电气工程及其自动化 班 级:电气本0902班 学 号:09401240251 2013年6月材料清单1、毕业设计(论文)课题任务书2、开题报告3、工作进度检查表4、指导教师评阅表5、评阅教师评阅表6、答辩资格审查表7、答辩及最终成绩评定表8、毕业设计说明书湖南工学院2013届毕业设计(论文)课题任务书学院:电气与信息工程学院 专业: 电气工程及其自动化 指导教师陈坚、成利香学生姓名廖卫平课题名称 基于matlab的图形用户界面设计内容及任务图形用户界面(graphical us
5、er interfaces,简称gui)是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的界面。本文主要利用matlab强大的计算功能和用户界面设计实现简易计算器和感应电动机性能分析的图形用户界面设计。本设计课题重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。第二,用guide编写一个简易计算器。基于matlab的简易计算器界面设计具有以下功能:1.实现十进制数的加、减、乘、除、乘方等简单四则运算;2.科学计算函数,包括三角函数、反三角函数、开方等函数运算;3.有后退键、清除键,能清除上一次运算的结果。基于matlab的感应电动机性能
6、分析界面设计具有以下功能:1.用户可以任意修改电动机等值电路的各参数;2.用户通过界面输入等值参数,可以得到感应电动机的等值电路及转矩与转子转速的关系曲线图;3.用户可以通过功能按钮键退出该界面。本文通过matlab的guide中的控件,可以制作出以上两个用户界面设计,然后在对各控件编写callback回调函数,就可以实现该界面应有的功能。最后我们用mcc命令把matlab编写的m文件变成.exe可执行文件,这样用户可以在没有安装matlab的环境下单独运行该程序,获得其界面。拟达到的要求或技术指标设计课题拟达到的要求如下:第一,在感应电动机的性能分析界面设计中,要求设计的界面在用户指定的参数
7、下,能够绘制出感应电动机的三相等值电路及其戴维南等值电路,并在等值电路的基础上求出感应电机一、二次侧的电流和电压、效率及定子的功率,在指定的转差率下能够绘制出感应电机的转矩-转速特性曲线并显示在界面上。第二,在简易计算器的界面设计中,要求用户设计的计算器能够实现四则运算、科学计算,并将计算结果显示在界面上。进度安排起止日期工作内容备注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收集资料、熟悉毕业设计(论文)课题开题报告
8、参数设计,软件编程方案调试编写毕业设计(论文)说明书进行总结、答辩准备主要参考资料1 陈杰. matlab宝典.北京:电子工业大学出版社,2011.12 罗华飞. matlab gui设计学习手记. 北京航空航天大学出版社,2011.23 张琨,高思超,毕靖.matlab2010从入门到精通.北京:电子工业大学出版社,2011.54 张平.matlab 基础与应用m.北京:北京航空航天大学出版社,2007.15 李显宏.matlab 7.x 界面设计与编译技巧m.北京:电子工业出版社,2006.2 6 王洪元.matlab语言及其在电子信息工程中的应用.北京: 清华大学出版社,2006.27
9、谭浩强.c程序设计.北京:清华大学出版社,2005.78 钟麟,王峰.matlab 仿真技术与应用教程m.国防工业出版社,2002.69 查普曼 .matlab编程.科学出版社.2011.410 范洛恩,法恩.面向计算科学与工程的matlab编程.清华大学出版社.2012.12教研室意见年 月 日院主管领导意见年 月 日湖南工学院毕业设计(论文)开题报告 题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工程及其自动化1.课题任务的学习与理解图形用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒
10、都可成为与计算机交换信息的接口。图形用户界面(graphical user interfaces ,gui)则是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,如实现计算、绘图等功能。若读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑gui的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个可以反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 matlab为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。ma
11、tlab的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。整体来说, matlab中gui的建立有两大方式。第一种是直接通过程序编写的方式产生对象, 即利用uicontrol、uimenu、uicontextmenu 等函数以编写m文件的方式来开发整个gui。这种方式建立的菜单比较齐全, 并且不会额外产生一个.fig 文件, 程序代码通用性高, 因此当完成一个gui后, 该程序代码就可以复制到一般的matlab 的m文件中使用, 也可以复制到guide 的m文件中使用, 如此可以节省额外开发相同或类似对象的时间。但用程序编写的方式建立对象非常
12、繁杂, 不仅需要先规划好每一个对象的位置, 还要一一输入对象所有对应的属性名称和属性值。若不是非常熟悉的用户可能会难以控制。另一种方式是直接通过matlab 的gui编辑界面guide 来建立gui, 它有点类似visual basic 这一类的开发环境, 只要直接通过鼠标将对象拖拽到目的地, 就可以快速地建构出整个gui, 设计简单, 并可将几个图形对象加到一个图形上, 增强可视性。本设计课题通过matlab的gui 编辑界面guide 来建立感应电动机性能分析及简单计算器的图形用户界面(graphical user interfaces ,gui)。2.课题调研综述matlab 是美国ma
13、th works公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括matlab和simulink两大部分。matlab是矩阵实验室(matrix laboratory)的简称,和mathematica、maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。matlab具有很好的技术特点:1)界面友好,编程效率高 matlab是
14、一种以矩阵为基本变换单元曲可视化程序设计语言,语法结构简单,数据类型单一,指令表达方武非常接近于常用的数学公式。即使对于那些不太熟悉计算机编程的用户,只要有一点windows操作的经验,在短时间内就能快速掌握matlab 的主要内容和基本操作。matlab不仅能使用户免去大量经常重复的基本数学运算,收到事半功倍之鼓,而且其编译和执行速度都远远超过其采用c和fortran语言设计的程序。可以说,matlab在科学计算与工程应用方面的工程效率远远高于其他高级语言。2)功能强大,可扩展性强。matlab语言不但为用户提供了科学计算、数据分析与可视化、系统仿真等强大的功能,而且还具有独树一帜的可扩展性
15、特征。math works公司针对不同领域的应用,推出了自动控制、信号处理、图像处理、模糊逻辑、神经网络、小波分析、通信、等30多个具有专门功能的matlab 工具箱。各种工具箱中的函数可以链装,也可以由用户更改。matlab支持用户自由地进行二次开发,用户的应用程序既可以作为新的函数滚加到相应的工具箱中,也可以扩充为新的工具箱。这些年来,国外许多不同应用领域的专家使用matlab开发出了相当多的应用程序。3)图形功能,灵活且方便 ,matlab具有二维与三维绘图功能,在程序的运行过程中可以方便迅速地用图形、图像、声音、动画等多媒体技术直接表述数值计算结果,可以选择不同的坐标系,可以设置颜色、
16、线型、视角等,可以在图中加上比饲尺、标题等标记,可以在程序运行结束后改变图形标记、控制图形句柄等,并且还可以将图形嵌入到用户的word文件中。matalb 可以创建图形用户界面(gui) , 图形用户界面(gui)是指由窗口、菜单、图标、光标、按键、对话框和文本等各种图形对象组成的用户界面。它让用户定制用户与matlab的交互方式,而命令窗口不是唯一与matlab的交互方式。它是用户和计算机之间交流的工具。matlab 将所有gui支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的
17、曲线图。为什么要在matlab中建立一个gui? 生成用户图形界面有以下几点好处: 编写一个需多次反复使用的实用函数,菜单、按钮、文本框作为输入方法具有意义; 编写函数或开发应用程序供别人使用; 创建一个过程、技术或分析方法的交互式示例; 3.研究内容基于前面的分析和本文的研究目的,我们重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。matlab 语言以复数矩阵作为基本编程单元, 具有强大的数值计算功能、图形表达功能及可视化的仿真环境。通过matlab提供的图形用户界面(gui) 设计与开发功能, 设计开发gui 应用于电路分析和计算中, 可以使复杂的计算变得
18、非常简便, 从而为感应电动机性能分析界面设计提供了一个有效的辅助工具。第二,用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 陈杰. matlab宝典.北京
19、:电子工业大学出版社,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 仿真技术与应用教程m.国防工业出
20、版社,2002.69 查普曼 .matlab编程.科学出版社.2011.410 范洛恩,法恩.面向计算科学与工程的matlab编程.清华大学出版社.2012.12指导教师批阅意见 指导教师(签名): 年 月 日湖南工学院毕业设计(论文)工作进度检查表题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工程及其自动化指导教师填写学生开题情况学生调研及查阅文献情况毕业设计(论文)原计划有无调整学生是否按计划执行工作进度学生是否能独立完成工作任务学生的英文翻译情况学生每周接受指导的次数及时间毕业设计(论文)过程检查记录情况学生的工作态度在相应选项
21、划“”认真一般较差尚存在的问题及采取的措施(从教务系统中打印6次指导记录):1. 问:开题报告有什么格式要求吗?答:开题报告按表格里的格式打印即可。2. 问:如何处理matlab的函数句柄?答:进后台,使用get、set函数操作属性句柄值。3. 问:编写matlab的回调函数需要注意哪些问题?答:相应控件的callback函数只能在对应的tag名称处编写4. 问:gui中如何插入图片?答:使用image、imread等函数编写程序插入图片。5. 问:反三角函数的计算结果不正确,应如何修改callback程序?答:请看程序里的反三角函数是否为acos或acosd。6. 问:毕业设计论文的格式有何
22、要求?答:请参考学校相关文献规定。指导教师签字: 年 月 日学院意见: 负责人签字:年 月 日湖南工学院2013届毕业设计(论文)指导教师评阅表 学院:电气与信息工程学院 专业:电气工程及其自动化 学生姓名廖卫平学 号09401240251班 级电气本0902班专 业电气工程及其自动化指导教师姓名陈坚、成利香课题名称基于matlab的图形用户界面设计是否同意参加答辩:是 否指导教师评定成绩分值:指导教师签字: 年 月 日湖南工学院毕业设计(论文)评阅教师评语表题目基于matlab的图形用户界面设计学生姓名廖卫平班级学号电气本0902班09401240251专业电气工程及其自动化评阅教师姓名张振
23、飞职称高级实验师工作单位湖南工学院评分内容具 体 要 求总分评分开题情况调研论证能独立查阅文献资料及从事其他形式的调研,能较好地理解课题任务并提出实施方案,有分析整理各类信息并从中获取新知识的能力。10外文翻译摘要及外文资料翻译准确,文字流畅,符合规定内容及字数要求。10设计质量论证、分析、设计、计算、结构、建模、实验正确合理。35创新工作中有创新意识,有重大改进或独特见解,有一定实用价值。10撰写质量结构严谨,文字通顺,用语符合技术规范,图表清楚,书写格式规范,符合规定字数要求。15综合能力能综合运用所学知识和技能发现与解决实际问题。20总评分评阅教师评阅意见评阅成绩评阅教师签名日期湖南工学
24、院毕业设计(论文)答辩资格审查表题 目基于matlab的图形用户界面设计学生姓名廖卫平学 号09401240251专 业电气工程及其自动化指导教师陈坚、成利香本设计课题是:基于matlab的图形用户界面设计,其研究步骤是:1,首先用matlab的guide编辑器进行界面编辑,然后将界面激活,此时matlab将会自动生成一个m文件和fig文件;2,用户在m文件中相应的位置编写各控件的callback了,编写完成后,当用户单击各按钮,就会按照callback的语句执行相应的操作。本课题重点研究以下两个方面的内容:第一,基于matlab 的感应电动机性能分析界面设计。matla
25、b 语言以复数矩阵作为基本编程单元, 具有强大的数值计算功能、图形表达功能及可视化的仿真环境。通过matlab提供的图形用户界面(gui) 设计与开发功能, 设计开发gui 应用于电路分析和计算中, 可以使复杂的计算变得非常简便, 从而为感应电动机性能分析界面设计提供了一个有效的辅助工具。第二,用guide编写一个简易计算器。设计的计算器能实现的功能有加、减、乘、除、后退、清零、三角函数等计算操作。本设计课题的创新之处在于应用matlab的guide编辑器进行感应电动机的界面设计,然后应用该界面进行感应电动机的性能分析,其调试结果符合设计要求。由于本设计课题的设计任务都已完成,且符合设计要求,
26、特向答辩资格审查小组提出答辩申请,望批准! 申请人签名: 年 月 日资 格 审 查 项 目是否01工作量是否达到所规定要求 02文档资料是否齐全(任务书、开题报告、外文资料翻译、定稿论文及其相关附件资料等) 03是否完成任务书规定的任务 04完成的成果是否达到验收要求 05是否剽窃他人成果或者直接照抄他人设计(论文)指导教师签名: 毕业设计(论文)答辩资格审查小组意见:符合答辩资格,同意答辩
27、0; 不符合答辩资格,不同意答辩审查小组成员签名: 年 月 日注:此表中内容综述由学生填写,资格审查项目由指导教师填写。湖南工学院2013届毕业设计(论文)答辩及最终成绩评定表 学院:电气与信息工程学院 专业:电气工程及其自动化学生姓名廖卫平学号09401240251班级电气本0902班答辩日期课题名称基于matlab的图形用户界面设计指导教师陈坚、成利香成 绩 评 定分值评 定小计陆秀令陈坚王小虎王勇刚李欣课题介绍思路清晰,语言表
28、达准确,概念清楚,论点正确,实验方法科学,分析归纳合理,结论严谨,设计(论文)有应用价值。30答辩表现思维敏捷,回答问题有理论根据,基本概念清楚,主要问题回答准确大、深入,知识面宽。必答题40自由提问30合 计100答 辩 评 分分值:答辩小组长签名:答辩成绩a: ×20指导教师评分分值:指导教师评定成绩b: ×60评阅教师评分分值:评阅教师评定成绩c: ×20最终评定成绩: 分数: 等级:答辩委员会主任签名: 年 月 日 说明:最终评定成绩a+b+c,三个成绩的百分比由各系自己确定,但应控制在给定标准的10左右。 2013届毕业设计说明书 基于matlab的图形
29、用户界面设计 院 、 部: 电气与信息工程学院 学生姓名: 廖卫平 指导教师: 陈 坚 职称 讲师 成利香 职称 讲师 专 业: 电气工程及其自动化 班 级: 电气本0902班 完成时间: 2013年5月30日 摘 要图形用户界面(graphical user interfaces,简称gui)是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的界面。matlab的图形用户界面设计采用了面向对象的技术。本文主要利用matlab强大的数值计算功能和guide编辑器实现简易计算器和感应电动机性能分析的图形用户界面。基于matlab的简易计算器界面设计具有以下功能:1.实现十
30、进制数的加、减、乘、除等简单四则运算;2.科学计算函数,包括三角函数、反三角函数、开方、乘方等函数运算;3. 有后退键、清除键,能清除上一次运算的结果。基于matlab的感应电动机性能分析界面设计具有以下功能:1.用户通过界面可以任意修改电动机等值电路的各参数;2.用户通过界面输入等值参数后,可以得到感应电动机的等值电路及转矩与转子转速的关系曲线图;3.用户可以通过功能按钮键退出该界面。本文主要通过matlab的guide中的控件,制作出以上两个图形用户界面,然后再对各控件编写callback回调函数,就可以实现该界面应有的功能。最后我们用mcc命令把matlab编写的m文件编译成.exe可执
31、行文件,这样用户可以在没有安装matlab的环境下单独运行该程序,获得其界面。 关键词:图形用户界面; matlab;简易计算器;感应电动机;回调函数abstractgui (graphical user interfaces, gui) is to point to by the mouse, windows, buttons, cursor, menus, icons, dialog boxes, and text box composed of all kinds of graphic objects such as the user interface. matlab graphica
32、l 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 analysis of graphical user interface. simple calculator interface design based on matlab has th
33、e following features: 1. implementation of decimal addition, subtraction, multiplication, division, such as simple arithmetic; 2. scientific computing function, including the trigonometric function, inverse trigonometric function, prescribing, chengfang, functional operation; 3. the back button, the
34、 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 motor equivalent circuit parameters; 2. input by the user interface the equivalent parameters, c
35、an 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 guide mainly by matlab in this paper, to produce more than two graphical user interface, and t
36、hen 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 can not installed under the environment of matlab run it alone, get the interface.key words gr
37、aphical 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.5 guide中加入图案82.6 设计课题中的gui对象介绍82.7 编辑gui对象的callback93 设计课题界面设计、调试及程序113.1 设计课题界面设计113.1.1 简易计
38、算器界面设计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 简易计算器界面设计的程序23附录b 感应电动机性能分析界面设计的程序361 设计课题目的、任务1.1 设计目的1.熟练掌握matlab的m语言实现图形用户界面程序设计。2.掌握matlab的图形用
39、户界面对象的控制方式。3.掌握matalb的图形用户界面的绘图函数。4.掌握matlab 的m语言程序设计方法。1.2 设计课题任务基于本次的课题设计,我们重点研究以下两个方面的内容:第一,基于matlab的简易计算器界面设计。设计的计算器能实现的功能有加、减、乘、除、后退、清零、(反)三角函数等计算功能。本课题用matlab的m语言编写的图形界面设计较为简单,在gui设计中主要用到三种控件,说明框用文本编辑框(edit text)编辑,显示框用静态文本框(static text)编辑,数字以及运算等按钮用命令按钮(push button)编辑,然后在通过各个按钮的callback回调函数,实
40、现简单的计算功能。第二,基于matlab 的感应电动机性能分析界面的设计。matlab 语言以矩阵作为基本编程单元, 具有强大的数值计算功能、绘图功能及可视化的仿真环境。通过matlab提供的图形用户界面(graphical user interfaces,简称gui) 设计与开发功能, 设计开发出应用于感应电动机性能分析和参数计算的gui,从而为感应电动机性能分析提供了一个有效的软件计算工具,可以使复杂的数值计算变得非常简便。2 设计课题软件系统2.1 matlab的 gui软件系统介绍矩阵实验室(matrix laboratory,简称matlab)是美国mathworks公司出品的数学软
41、件,主要包括两大部分:matlab和simulink,可实现算法开发、工程数值计算和对动态系统进行建模、仿真等功能。matlab它在理工科的数值计算方面得到广泛的运用。matlab可以进行矩阵运算、绘制平面及空间图形、实现算法、创建用户界面、连接其他编程语言编写的程序等,主要应用于金融建模设计与分析、工程计算、图像处理、控制工程、信号处理与通信、信号检测等领域。matlab可以创建图形用户界面(graphical user interfaces,简称gui) , 图形用户界面是指由鼠标、窗口、按键、光标、菜单、图标、对话框和文本框等各种图形对象组成的用户界面。它可以让用户自由定制与matlab
42、的交互方式,而命令窗口不是唯一与matlab的交互方式。图形用户界面是用户和计算机之间进行交流的工具,matlab 将所有图形用户界面支持的用户控件都集成在这个环境中并提供界面外观、属性、行为响应方式的设置方法。随着版本的升级,这种界面设计能力也在不断加强,并且具有强大的绘图功能,可以很方便的获得更高质量的曲线图。matlab为表现其基本的功能而设计的演示程序demo 是用户开发设计图形界面的最好范例。在matlab的命令窗口中输入命令demo ,打开演示图形界面后,用户只要用鼠标进行选择和点击,就可浏览其中丰富多彩的内容。整体来说, matlab的图形用户界面设计有两种方式:第一种是直接通过
43、程序编写的方式产生对象, 即利用uicontrol、uimenu、uicontextmenu 等函数编写的m文件来开发整个图形用户界面。用户使用这种方式建立的菜单比较齐全, 缺点是不会额外产生一个.fig 文件, 但是它的程序代码通用性很高, 因此当完成一个图形界面设计后, 该程序代码就可以复制到其他的matlab 的m文件中使用, 也可以复制到guide编辑器 的m文件中使用, 如此可以节省额外开发相同或类似对象的时间。但用程序编写的方式建立对象非常繁杂, 不仅需要用户输入所要建立的对象属性名称和属性值,还需要用户事先规划好每一个对象的位置。若用户不是非常熟悉图形界面的设计,很可能会难以控制
44、界面的布局。另一种开发图形用户界面的方式是直接通过matlab 的guide编辑器进行设计, 它有点类似visual basic 这一类的开发环境, 用户只需将对象直接用鼠标拖拽到相应位置, 就可以快速的开发设计出整个图形用户界面, 其设计比编程方式简单,并可将几个图形对象加到一个图形界面中, 增强可视性。生成图形用户界面有以下几点好处: 编写一个需多次反复使用的实用函数,使文本框、菜单、按钮作为输入方法具有重要的意义; 编写函数或开发应用程序以供别人使用; 创建一个过程、分析方法或技术的交互式环境,方便用户使用;本设计课题主要是通过matlab的gui编辑界面guide编辑器来建立简易计算器
45、与感应电动机性能分析的图形用户界面(graphical user interfaces,简称gui)。 2.2 matlab的guide编辑器刚开始建立gui时,使用guide编辑gui的速度将会比较快。用户可以直接在matlab的命令窗口中输入guide,或在matlab的start菜单选取【mtalat】>【guide(gui builder)】选项或单击desktop工具栏上的按钮,都可以打开matlab的guide编辑器来进行界面设计。>> guide使用此编辑器能够快速地设计出gui,并且可以省略繁琐的函数,是以对象为导向的观念,使gui的设计更加灵活;此外,若通过
46、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 “guide quick start”对话框 blank gui样板:一个空的gui样板,必须由用户自行加入所需要的对象,双击此选项后,在gui编辑区内不会有任何的
47、对象存在。 modal question dialog样板:在此编辑器中已经有用户建立的一个问题对话框。 gui with uicontrols样板:打开已经设计好的一些gui对象的guide编辑器,而在此编辑器中已经包含了由用户建立的一些具有计算功能的对象。 gui with axes and menu样板:在此编辑器中也已经有一些由用户设计好的gui对象,而这些对象主要用于计算与输出。在以上几个样板中,用户一般都是使用blank gui来建立gui对象,选取完后单击ok按钮,即可打开如图2所示的gui编辑界面。图2 gui编辑界面2.3 建立guide对象在matlab中打开gui编辑界面
48、后就可以进行gui设计了,如图2所示的guide 编辑界面中,左方提供了用户可选择的uicontrol对象。用户只需通过鼠标单击左方任一uicontrol对象后,然后在guide窗口内使用鼠标拖拽对象大小来放置,就可以建立好该对象。如图3所示,用户用鼠标选取push button对象后,直接在guide窗口内拖拽该对象的大小来放置push button即可。edit text、static text的建立方式与push button的相同。用户建立完对象后,则在自己已经建立的对象上单击鼠标左键来选取该对象作为当前对象,即可修改各对象的大小,此时对象框的四周会显示四个黑点,即可直接用鼠标拖拽这些
49、黑点来修改对象框的大小;同样可用鼠标选取该对象后,再拖拽移动对象即可修改对象的位置;用户可以使用鼠标直接拖拽右下角的黑点来进行修改整个gui窗口的大小。图3 gui的建立2.4 修改gui对象属性当建立完对象后,用户就可以开始修改对象的属性了,与前面介绍的方式一样,直接在该gui对象上双击鼠标即可打开如图4所示的属性检查器,里面包含了该对象所有可设置的属性值与属性名称。假设必须将图3内的push button对象的字形改为粗体字,因此在该属性检查器中单击 “font weight”右方的按钮后,选取其中的“bold”选项就可以将字体改为粗体字;另外,如果我们要更改按钮的名称,用户可以通过修改s
50、tring属性,与修改font weight的做法相同,但由于string属性必须是输入显示的名称,因此将原本的属性值push button删除后再输入用户所需设计的按钮名称即可。例如本设计课题中简易计算器的gui设计的后退按钮backspace属性设置,如图5所示。我们发现在guide中设置对象属性是比较方便的,用户仅需了解该属性的用途以及各对象间之间的关系,而不需要完整的去记整个属性的名称,并且可以直接通过交互式的界面来进行各对象属性的修改,这样可以节省很多属性设置的时间,可以很快地建立一个符合我们要求的图形界面。图4 属性检查器图5 修改push button对象属性2.5 guide中
51、加入图案在guide中加入图案,首先要在guide编辑界面中建立一个axes对象,作为图像显示的坐标轴,使用axes(句柄值)可以用来控制当前的坐标轴。在matlab中,一个完整的图像显示过程必须使用到几个函数,分别为imread(读取图像)、image(显示图像)、imwrite(写入图像),这样我们就可以将特定的图案显示在gui中,来美化我们的界面(有点类似于visual basic内的picture对象的效果)。 本设计课题中感应电动机性能分析界面设计中显示的鼠笼式感应电机图像程序代码如下:ax=axes('position',0.7 0.72 0.2 0.2); %控制
52、当前的坐标值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就会立即依据其对应的callback程序来
53、执行操作。以下为本设计课题的数字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(handles.text,'string','1') ;elsetext_string =s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新任经理发言稿
- 家长会 德育发言稿
- 时间的脚印白板课件
- 宇通客车现金流量质量分析
- 秋天的思念课件大纲
- 2025版房地产精装修施工合同包含建筑节能认证服务
- 二零二五年新能源企业劳动保密及保密义务协议
- 2025版车辆买卖合同担保及车辆改装服务范本
- 2025版花卉进出口贸易合同
- 2025版某局信息化项目劳务分包结算规范合同
- 2025年农产品质量安全追溯体系构建与农业供应链管理创新报告
- 煤矿笔试题目及答案
- 2025年危化品经营单位安全管理人员培训全国考试题库(含答案)
- 2025年助理工程师考试试题基础理论(附答案)
- 2024年江门职业技术学院招聘考试真题
- 2024年北京水务投资集团有限公司集团系统招聘真题
- 2025年福建省养老护理员技师预测题目(含答案)
- 危险品运输资格(装卸管理人员)考试2025年题库及答案
- 《知识管理办法》
- 2026年高考数学一轮复习策略《指向深度学习的高中数学教学策略》讲座
- 2025年行政执法资格证考试试题库及答案
评论
0/150
提交评论