




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB语言课程论文基于MATLAB图形演示对话框的简单设计姓名:海秀燕学号:12010245373专业:通信工程班级:10级通信班指导老师:汤全武学院:物理电气信息学院完成日期:2011年12月28日基于MATLAB图形演示对话框的简单设计( 海秀燕 12010245373 通信工程2010级1班)【摘要】MATLAB是新兴的编程语言和可视化工具,它提供了非常强大的编写图形用户界面的功能,简称为GUI(GraphicUserInterface。所谓图形用户界面是指窗口、菜单、对话框等各种图形元素组成的用户界面。在这种用户界面中,用户的操作及形象生动,方便灵活,所以当今绝大部分开发环境与应
2、用程序都采用图形用户界面,许多流行的开发工具都可以进行图形用户界面的设计。同时,MATLAB作为功能强大的科学计算软件,同样也提供了图形用户界面设计的功能,在MATLAB中,基本的图形用户界面对象包含类:用户界面控件对象、下拉式菜单对象、快捷菜单对象。根据这些图形对象,可以设计出界面友好、操作方便的图形用户界面。在图形用户界面的设计中,对话框的设计相当重要,很多课本中通过最小二乘法仿真的对话框设计作为实例说明其应用,并且介绍了利用图形的标识标签来确定其句柄值的简便方法。对话框是用户与计算机尽心交流的临时窗口,在现代软件中有着广泛地应用。在软件设计时,借助于对话框可以更好的满足用户操作需要,使用
3、户操作更加方便灵活。在图形用户界面程序设计中,对话框是重要的信息显示和获取用户输入数据的用户界面对象。使用对话框,可以使应用程序的界面更加友好,使用更加方便。MATLAB提供了两类对话框,一类为Windows的公共对话框,另一类为MATLAB风格的专用对话框。【关键字】MATLAB语言 对话框 控件 弹出框 编辑框一、问题提出MATLAB语言是功能强大的科学及工程计算软件,在当今国际上科学界(尤其是自动控制领域最具影响力。它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计功能。MATLAB的应用领域极为广泛,初数学计算和分析外,还被广泛的应用
4、于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通行工程、金融系统等领域,因此MATLAB是面向21世纪的计算机程序设计及科学计算语言。近年来,MATLAB在我国科学研究和工程应用中发挥越来越大的作用。各高校积极推动计算机基础教育改革,计算机技术的飞速发展和全社会对计算就应用需求的不断增加,给计算机基础教育的发展提供了新的机遇。MATLAB具有友好的工作平台和编程环境、简单易用的程序语言、强大的科学计算机数据处理能力、出色的图形处理功能、应用广泛的模块集合工具箱、实用的程序接口和发布平台。MATLAB语言在各国高校与研究单位起着重大的作用。它是一种集数值计算
5、、符号运算、可视化建模、仿真和图形处理等多种功能。在图形用户界面程序设计中,如何更好的满足用户的需求,使用户操作更加方便灵活,基于MATLAB语言对话框的设计解决了这一问题。二、基于MATLAB图形对话框的简单设计图形用户界面程序设计中,对话框是重要的信息显示和获取用户输入数据的用户界面对象。使用对话框,可以使应用程序的界面更加友好,使用更加方便。在MATLAB中,要设计一个对话框,首先要建立一个图形窗口,然后在图形窗口中放置有关用户控件对象。MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性
6、值2,),在当创建一个对象。如果在调用set函数时省略全部属性名和属性值,则将显示出句柄的所有允许属性;MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称为图形对象句柄(Handle)。句柄是图形对象的唯一标示符,不同对象的句柄不可能重复和混淆,其中gcf获取当前图形窗口的句柄;unit属性的取值可以是pixel(像素,为默认值、normalized (相对单位)、inches(英寸等,影响一切定义大小的属性项,所有单位的度量都是从图形窗口的左下角处开始;相对单位normalized将屏幕左下方(0,0),而右上角对应为(1.0,1.0);position属性取值是数值,它定义
7、一级菜单项在菜单条上的相对位置或子菜单项在菜单组内的相对位置;Menubar用来控制图形窗口是否应该具有菜单条,它的取值可以是figure(默认值)或none;Name该属性的取值可以是任何字符串,它的默认值为空,这个字符串作为图形窗口的标题;NumberTitle属性的取值是on(默认值或off,决定着在图形窗口的标题中是否以“Figure No.n:”为标题前缀,这里n是图形窗口的序号,即句柄值。1. 图形窗口的设计MATLAB程序如下:clf;%清除当前图形窗口的内容set(gcf,Unit,normalized,Position,0.2,0.3,0.55,0.36;%定义图形窗口的位置
8、与大小set(gcf,Menubar,none,Name,海秀燕-图形演示对话框,numberTitle,off;%建立菜单用户名运行结果如图1所示 图 图形窗口通过以上程序,设计出图形窗口的位置以及大小,下面在该图形窗口设计绘图坐标。坐标轴是MATLAB中另一类很重要的图形对象,坐标轴对象时图形窗口的子对象,每个图形窗口中可以定义很多个坐标轴对象,但只有一个坐标轴是当前坐标轴,在没有指明坐标轴时,所有的图形图像都是在当前坐标轴中输出,在图形窗口中输出图形图像,实质上是指在该图形窗口的当前坐标轴中输出图形图像,建立坐标对象使用axes函数,在绘制图形时,MATLAB可以自动根据要绘制曲线数据的
9、范围选择合适的坐标刻度,使得曲线能够尽可能清晰地显示出来,所以,在一般情况下用户不必选择坐标轴的刻度范围,但是,用户对坐标系不满意,可以利用axis函数对其重新设定;style属性定义控件对象的类型,它的取值可以是push(按钮,默认值)、toggle(双位按钮)、radio(单选按钮、popup(弹出框)、edit(编辑框)、text(静态文本),静态文本是在对话框中显示的说明性文字,一般用来给用户提供必要的提示,因用户不能在程序执行过程中改变文字说明,故将其称为静态文本;string属性的取值是字符串,它定义控件对象的说明文字,如按钮上的说明文字以及单选按钮或复选按钮后面的说明文字;Max
10、和Min属性的取值是数字,其默认值分别都是0和1,这两个属性对于不同的控件对象,其意义是不同的,对于编辑框,如果Max-Min1,那么对应的编辑框接收多行字符输入,如果Max-Min=1那么编辑框仅接收单行字符输入。2. 在图形窗口建立坐标及输入命令编辑框MATLAB程序如下:axes(position,0.05,0.15,0.55,0.7;%建立坐标轴conuitrol(gcf,style,text,Unit,normalized,Position,0.63,0.85,0.2,0.1,string,请输入绘图命令,Horizontal,center;%建立用户界面控件 hedit=uicon
11、trol(gcf,style,edit,Unit,normalized,Posi,0.63,0.15,0.2,0.68,Max,2;%建立用户命令编辑框运行结果如图2所示图2 图形窗口坐标建立此程序可以在图形窗口建立绘图坐标及输入命令编辑框,用相应按钮控,使其运行相关命令,下面进行按钮编译。在对话框上有各种各样的控件,利用这些控件可以实现有关控制,Style属性值push指明该控件对象是按钮,是对话框中最常用的控件对象,其特征是在矩形框上加上文字说明,一个按钮代表一种操作,所以有时也称命令按钮;弹出框popup平时只显示当前选项,单击其右端的向下箭头即弹出一个列表框,列出全部选项,其作用与列表
12、框类似,建立颜色列表框,列表框中包含一组可供选择的颜色,当选择某种颜色时,就将图形窗口背景颜色设置为改颜色;normalized是相对单位,系统默认为正字体;用MATLAB语言编写的程序,称为M文件。M文件是由若干个MATLAB命令组合在一起构成的,它可以完成某些操作,也可以实现某些算法。实际上,MATLAB提供的内部函数以及各种工具箱,都是利用MATLAB命令开发的M文件,用户可以根据自己的工作需要,开发具体的程序或工具箱。COMM是调用函数,即M文件,其扩展名为.m;uicotrol用于建立控件对象的函数;Color属性的取值是代表某种颜色的字符或RGB值,定义颜色;Callback属性的
13、取值是字符串,可以是某个M文件的文件名或一组MATLAB命令。在该菜单想被选中以后,MATLAB将自动地调用此回调函数来作出对相应菜单项的响应,如果没有设置一个合适的回调函数,则此菜单项也将失去其应有的意义;命令窗口是MATLAB的主要交互窗口,用于输入命令并显示出图形以外的所有执行结果,callback执行的结果保证只有一个单选按钮的状态为on,因为单选按钮的value属性是这样定义的:如果单选按钮的状态时on,那么属性value的值是单选按钮的另一个属性Max的属性值,该属性值的默认值是1,如果状态时off,那么属性value的值是单选按钮的另一个属性Min的属性值,的默认值是0;要关闭图
14、形窗口,使用close函数,其调用格式为:close(窗口句柄),另外,close all命令可以关闭所有的图形窗口,clf命令则是清楚当前图形窗口的内容,但不关闭窗口。4.在图形窗口建立按钮及弹出框MATLAB程序如下:hpush1=uicontrol(gcf,style,push,Unit,normalized,Posi,0.85,0.35,0.15,0.15,string,绘图,call,COMM(hedit;%建立执行输入命令操作的绘图按钮uicontrol(gcf,style,push,Unit,normalized,Posi,0.85,0.15,0.15,0.15,string,关
15、闭,call, close all;%建立用户界面关闭操作按钮hpopup=uicontrol(gcf,style,popup,unit,normalized,string,red|bule|green|yellow,posi,0.85,0.55,0.15,0.15,callback,cbcol=R,B,G,Y;,set(gcf,color,cbcol(get(hpopup,value;%建立图形窗口背景色改变弹出框运行结果如图3所 图3 图形窗口按钮建立此程序已将整个图形演示对话框完成,当在输入命令窗口输入命令,按下绘图按钮时,将会在图形演示对话框中的坐标轴中绘出相应图形,坐标轴上x、y的值
16、会随输入命令所绘制图形的不同而进行改变。要是输入命令能够在图形演示对话框中运行,必须有调用函数来调用,其调用函数为:function COMM(hedit%函数文件名com=get(hedit,string;%引导编辑框输入的命令if isempty(com%编辑框输入非空时eval(com;%执行从编辑框输入的命令end%此程序编译完成三、输入绘图命令演示例如绘制正弦曲线,需输入命令x=0:0.01:4*pi;%定义x的取值范围y=sin(x;%正弦函数plot(x,y%绘制正弦函数图像如图4所示图4 图形窗口输入命令演示绘制结果如图5所示图5 图形窗口绘图演示这是完成正弦曲线的过程,在MA
17、TLAB中,最基本且应用最广泛的绘图函数为plot函数,利用它可以在二维平面上绘制出不同的曲线,plot函数用于绘制xy平面上的线性坐标曲线图,因此需提供一组x坐标及其个点对应的y坐标,这样就可以绘制分别以x和y为横、纵坐标的二维曲线。若要绘制其他二维图形,只需在输入命令框输入相应命令,按下绘图按钮即可,下面我们再绘制曲线y1=e-(0.5x与y2=1.5e-(0.1x的图形。需要输入命令x1=0:pi/100:2*pi;%定义x1的范围x2=0:pi/100:3*pi; %定义x2的范围y1=exp(-0.5*x1;%y1的表达式y2=1.5*exp(x2; %y2的表达式plotyy(x1
18、,y1,x2,y2;%绘制两种曲线图显示结果如图6图形窗口所示:图6 图形窗口绘图演示在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数。这种图形能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中,有利于图形数据的比较分析。弹出框是用来改变图像窗口背景颜色的,当按下弹出框上的黑三角时,会有供选择的颜色弹出,点击想要选择的颜色实现图形对话框背景色的改变工作。当完成绘图想要关闭对话框时,只需点击图形演示对话框上的关闭按钮,便会完成对话框关闭工作。四、总结从以上基于MATLAB语言图形演示对话框简单设计分析及实际操作应用中,我们不难的出以下结论:1、MA
19、TLAB是一门功能强大、效率高、简单易懂的科学计算语言同样也提供图形用户界面的功能,使用MATLAB语言的编程工作量会大大减少。2、MATLAB具有友好的工作平台和编程环境、简单易用的程序语言、强大的科学计算机数据处理能力、出色的图形处理功能、应用广泛的模块集合工具箱、实用的程序接口和发布平台。3、MATLAB用户菜单对象是图形窗口的子对象,所以菜单设计总在某一个图形窗口中进行,具有出色的图形处理功能,高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图,可用于科学计算和工程绘图。4、MATLAB是新兴的编程语言和可视化工具,它提供了非常强大的编写图形用户界面的功能;5、在图形用户界
20、面程序设计中,对话框是重要的信息显示和获取用户输入数据的用户界面对象。用MATLAB设计图形演示对话框不仅可以轻易的绘出用户所要的图形,还可以成为用户与计算机尽心交流的临时窗口,在现代软件中有着广泛地应用。在软件设计时,借助于对话框可以更好的满足用户操作需要,使用户操作更加方便灵活。6、使用对话框,可以使应用程序的界面更加友好,使用更加方便。在编写程序时,我们必须得有扎实的MATLAB语言功底和具有相应的编程思想。除此之外,我们还必须的认真细心。五、课程体会经过一学期紧张而有序的MATLAB课程的学习,在忙绿之余也得到了颇多的收获。学习中,我深深地体会到了MATLAB语言相对于同类程序语言更方
21、便简洁易懂。作为一个通信工程专业的学生,为了方便自己学习,虽然没有必要把matlab教程全部学会,但是根据你个人的需要,绘图,矩阵运算,等等,基本命令、数据类型、基本的程序结构(条件语句,循环语句,嵌套)、文件的IO是必须看的,因为任何一个程序都需要这几个基本的块。MATLAB提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言是当今国际上科学界(尤其是自动控制领域最具影响力、也是最有活力的软件。MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句
22、与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。MATLAB是一个包含大量计算算法的集合,其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。这体现着MATLAB的博大精深之处,单从分段函数这个小小的领域内我们就可以观察到它的真正巨大的作用。计算问题,作图问题,还有许多的功能。MATLAB语言在各国高校与研究单位起着重大的作用。它是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能。在图形用户界面程序设计中,如何更好的满足用户的需求,使用户操作更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班性别教育
- 教科版(2017)科学五年下册《我们面临的环境问题》说课(附反思、板书)课件
- 旅行套餐采购合同
- 产业分析实习协议
- 教官学期工作总结
- 辛集中学高二语文限时训练
- 陕西国防工业职业技术学院《现代食品生物技术》2023-2024学年第二学期期末试卷
- 陕西学前师范学院《程序设计实验》2023-2024学年第二学期期末试卷
- 幼儿园集体活动健康教育
- 陕西服装工程学院《书法理论下》2023-2024学年第一学期期末试卷
- 矿山应急管理培训
- 一年级家长会课件2024-2025学年
- 司机职业素养及礼仪培训
- DB43T 874-2016 履带自走式旋耕机
- DB15T 435-2020 公路风吹雪雪害防治技术规程
- 《起重机械安全技术规程(第1号修改单)》
- 六年级下册道德与法治-【大单元教学设计】道法六下 第4单元 大单元任务群教案
- 2024年贵州省贵阳市乌当区九年级中考一模数学试题(原卷版)
- 2024-2030年中国相变材料行业发展趋势与前景分析研究报告
- 2024年信息安全系统管理系统规章制度
- 人工智能教学设计《图像识别教学设计》
评论
0/150
提交评论