ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:87.78KB ,
资源ID:27294614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27294614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版matlab电子教案9.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版matlab电子教案9.docx

1、完整版matlab电子教案94.3 用户界面控制对象(Uicontrol)除了菜单外,控制对象是另一种实现用户与计算机交互的主要手段。用户界面控制对象(Uicontrol)是这样一类图形界面对象:用户用鼠标在控制对象上进行操作,单击鼠标时,将会使应用程序作出响应,并执行某些预定的功能子程序(Callback)。控制对象的结果是可见的,又是可以改变应用程序的初始状态。4.3.1 控制对象的创建和创建菜单对象类似,同样有两种方式用于创建控制对象:一是基于函数命令行的编程方式;二是基于GUI的方式。(1)基于函数命令行的编程方式使用控制对象函数uicontrol是创建控制对象的基本方法,函数的调用格

2、式为:h=uicontrol(PropertyName1,value1,PropertyName2,value2,)在当前图形窗口创建一个用户界面控制对象,并返回一个句柄值。h=uicontrol(hfig,)在特定的图形窗口创建一个用户界面控制对象。其中,h为待制作的用户界面控制对象的句柄,hfig为其父对象句柄,当hfig缺省时,系统将在当前图形界面上添加用户界面控制对象。(2)基于GUI的方式如图4.2,打开GUI设计工具集窗口,窗口的左侧便是各种类型的控制对象按钮栏。单击要添加的控制对象按钮,在图形窗口中拖动鼠标“画出”所需要的位置和大小即可。4.3.2 控制对象的类型和属性MATLA

3、B提供了11种控制对象,每一种控制对象对应于不同的特定目的。下面介绍这些控制对象的特征和实现的功能。 坐标轴(Axis): 设置坐标轴控制对象。 框架(Frame)该组件为一封闭的、可见的、图形窗口区域。框架能使一用户图形界面中相关的控制组件能容易理解。框架没有相关的回调程序。只有控制组件能在框架中显示。框架不是透明的,因此用户定义的组件先后顺序决定了组件是否被框架遮住或可见。属性Stacking order决定了控制组件的显示顺序:第一个定义的组件最先显示,后面定义的控制组件则覆盖已经存在的组件。若用户要用一框架包围一些组件,则必须第一个定义框架。 校验框(check)当单击检验框时,会执行

4、一操作。该组件对于提供用户多个独立的选择是很有用的。要激活一校验框,只需用鼠标单击该组件即可,且选中的状态在组件上显示出来。 可编辑文本框(edit)允许用户输入与修改文本文字的区域。当用户想把文字作为输入时,可使用该组件。若一可编辑文本框有焦点,则单击文本框的菜单栏不会执行任何操作。因此,在单击菜单条后,语句get(edit_handle,String)并没有返回当前编辑框中的内容。因为系统必须执行回调函数来改变属性 string的值,即使屏幕上显示的文字已经改变。 列表框(list)显示一些项目的列表(用命令string设置),且允许用户选择一个或多个项目。属性Min与Max控制着选择的模

5、式。属性Value显示可选择的项目与包含着字符串列表中项目的索引;对于选择了多个项目则用向量表示。在任何的能改变属性Value值的、鼠标松开的操作之后,系统MATLAB将马上执行列表框的回调函数。因此,用户有必要增加一“Done”按钮,用于推迟当要多次选择项目时的操作。在执行列表框回调函数Callback属性之前,列表框中项目的选择有单击或双击之分,对应于将图形窗口属性SelectionType设置为normal或open。 弹出菜单(popup)当组件被按下时,打开且显示一选择列表(用命令string设置)。当没有打开时,该组件显示当前的选择项。该组件对于用户想给其他用户提供一系列的互斥的选

6、择项,又不想占用太多的区域。 普通按钮(push)当该组件被按下时,将执行一操作。要激活一按钮,只需在按钮上按下鼠标按钮。 单选按钮(radio)该组件与校验框相类似,但它包含几个互斥的、而且相关的选项(例如在任意时刻,只能选择一个状态)。要激活某一单选按钮,只需在该组件上按下鼠标即可。被选中的组件同时显示出来。 滑块(slide)该组件允许用户通过移动某一范围之内的滑块来输入一指定的数值。用户要移动一滑块,只需在滑块上按下鼠标不放,且在滑块方向上移动;或者是在滑槽内单击鼠标;或者是单击滑块条上的箭头。当松开鼠标后,滑块所在位置将与一数值对应。用户可以设置滑块的最大值、最小值与当前值等。 静态

7、文本框(text)显示文本行。静态文本经常作为其他控制对象标签,以提供其他用户相关信息,或者是显示一滑块的数值。其他用户不能交互地改变静态文本,因此对于静态文本,没有相关的回调函数。 触发按钮(toggle)当该组件被单击且显示出它们的状态(on或者off)时,控制是否执行回调函数。用法handle=uicontrol(parent)在父对象parent上生成一用户图形控制界面。用户界面控制对象都是图形窗口的子对象,所以当窗口中没有坐标轴时,同样可以放置控制组件于图形窗口中。handle = uicontrol(,PropertyName,PropertyValue,) 参量PropertyN

8、ame为属性名,参量PropertyValue可为结构数组或者为单元数组,同时随意地返回刚生成的对象的句柄。当然用户可以通过命令set与get来设置与询问生成对象的属性值。表4.4列出了用于命令uicontrol对象的属性名。每一属性名当作一描述该属性的链接。表4.4属性名属性名含义属性值控制控件类型与显示BackgroundColor对象的背景颜色有效值:ColorSpec缺省值:与系统有关Cdata显示于对象之上的真颜色图片有效值:矩阵ForegroundColor文本字体的颜色有效值:ColorSpec缺省值:0 0 0(黑色)SelectionHighlight当对象被选中时突出显示有

9、效值:on、off缺省值:onString用户控制界面的标签,也是列表框与弹出菜单中的项目有效值:任意有效的字符串Visible用户界面控制是否可见有效值:on、off缺省值:on关于控件对象的一般信息Children用户界面控制界面没有子对象Enable用户界面控制是否可用有效值:on、inactive、off缺省值:onParent用户界面控制对象的父对象有效值:图形窗口标量句柄Selected对象是否为选中状态有效值:on、off缺省值:offSliderStep滑块步长尺度有效值:二维向量缺省值:0.001 0.1Style用户界面控制对象的类型有效值:pushbutton、edit、

10、text、togglebutton、slider、radiobutton、popupmenu 、listbox、frame缺省值:pushbuttonTag由用户指定的对象的标记符有效值:任意有效字符串TooltipString对象的工具提示有效值:任意有效字符串Type图形对象的类型有效值:字符串(只读)缺省值:uicontrolUserData用户指定的数据有效值:矩阵控制控件对象的位置Position用户界面控制对象的大小与位置有效值:位置矩形缺省值:20 20 60 20Units解释属性position向量的单位有效值:pixels、character、normalized、poin

11、ts、centimeters缺省值:pixels控制字体与标签FontAngle字符的倾斜度有效值:normal、italic、oblique缺省值:normalFontName字体系列名称有效值:字符串缺省值:与系统有关FontSize字体大小有效值:一标量缺省值:与系统有关FontUnits字体大小单位有效值:pixels、normalized 、inches、centimeters、points缺省值:pointsFontWeight文本字体的磅值有效值:light、normal、demi、bold缺省值:normalHorizontalAlignment标签字符串的对齐方式有效值:le

12、ft、center、left缺省值:决定于用户界面控制的对象String用户控制界面的标签,也是列表框与弹出菜单中的项目有效值:字符串控制回调函数的执行BusyAction回调函数中断方式有效值:cancel、queue缺省值:queueButtonDownFcn当按钮按下时执行的回调函数有效值:字符串Callback控制操作有效值:字符串CreateFcn在对象生成过程中执行的回调函数有效值:字符串DeleteFcn在对象删除过程中执行的回调函数有效值:字符串Interruptible回调函数中断的模式有效值:on、off缺省值:onUIContextMenu与界面控制中的对象相关的菜单(如

13、按下鼠标右键)有效值:句柄关于当前状态的一般信息ListboxTop第一个显示于列表框中的项目的索引有效值:标量缺省值:Max最大值(与用户界面控制对象有关)有效值:标量缺省值:与系统有关Min最小值(与用户界面控制对象有关)有效值:标量缺省值:与系统有关Value用户界面控制对象的当前值有效值:标量或向量缺省值:与系统有关控制组件的访问HandleVisibility句柄是否可从命令窗口中与GUIs中访问有效值:on、callback、off缺省值:onHitTest组件是否可由鼠标单击选中有效值:on、off缺省值:on例4.3-1 创建一个界面(图4-11)包含4种控件:静态文本、选择开

14、关、双位按键、控件区域框。编写M脚本文件examGUI4.m ,运行该文件便可得如图4-11所示的界面。图1-11 静态文本、选择开关、双位按键及控件区域框examGUI4.mclf reset%以下三句对图形窗口的工具条,窗口及控件的位置和尺寸进行设置。set(gcf,menubar,none)set(gcf,unit,normalized,position,0.2,0.2,0.64,0.32); set(gcf,defaultuicontrolunits,normalized) h_axes=axes(position,0.05,0.2,0.6,0.6); %设置轴t=0:pi/50:2*

15、pi;y=sin(t);plot(t,y); %画sin(t)的图形set(h_axes,xlim,0,2*pi); %设置轴上x坐标的范围set(gcf,defaultuicontrolhorizontal,left);%把y轴放在窗口的左边htitle=title(正弦曲线);set(gcf,defaultuicontrolfontsize,12); %设置控件字体的大小uicontrol(style,frame,. position,0.67,0.55,0.25,0.25); %设置框架控件uicontrol(style,text,. string,正斜体图名:,. position,0

16、.68,0.77,0.18,0.1,. horizontal,left); %设置静态文本控件hr1=uicontrol(gcf,style,radio,. string,正体,. position,0.7,0.69,0.15,0.08); %设置选择按钮控件1set(hr1,value,get(hr1,Max);%设置hr1属性value的值max(选择按钮有点提示选中此项)set(hr1,callback,. set(hr1,value,get(hr1,max),. set(hr2,value,get(hr2,min),. set(htitle,fontangle,normal),); %

17、选择按钮选中时,取normal字体hr2=uicontrol(gcf,style,radio,. %设置选择按钮控件2 string,斜体,. position,0.7,0.58,0.15,0.08,. callback,. set(hr1,value,get(hr1,min),. set(hr2,value,get(hr2,max),. set(htitle,fontangle,italic); %选择按钮选中时,取斜字体ht=uicontrol(gcf,style,toggle,. %设置双位按钮,注意与单功能按钮的区别 string,Grid,. position,0.67,0.40,0

18、.15,0.12,. callback,grid);例4.3-2 概率密度函数作图:glht_gui.mclf reset%以下三句对图形窗口的工具条,窗口及控件的位置和尺寸进行设置。set(gcf,menubar,none,NumberTitle,off)set(gcf,name,概率密度函数作图)set(gcf,unit,normalized,position,0.3,0.3,0.5,0.5); set(gcf,defaultuicontrolunits,normalized) h_axes=axes(position,0.1,0.2,0.6,0.6); %设置轴set(gcf,defau

19、ltuicontrolhorizontal,left);%把y轴放在窗口的左边set(gcf,defaultuicontrolfontsize,12); %设置控件字体的大小hp1=uicontrol(gcf,style,push,. %设置按钮 string,二项分布,. position,0.75,0.70,0.2,0.1,. callback,glht1);glht1.mx = 0:10;y = binopdf(x,10,0.5);plot(x,y,+)title(二项分布);例4.3-3 如图4-12建立数制转换对话框。在左边输入一个十进制整数和216之间的数,单击“转换”按钮能在右边

20、得到十进制数所对应的216进制字符串,单击“退出”按钮退出对话框。程序如下examGUI5.m:hf=figure(Color,0,1,1,Position,100,200,400,200,. Name,数制转换, . NumberTitle,off,MenuBar,none);uicontrol(hf,Style,Text, Units,normalized,.Position,0.05,0.8,0.45,0.1,Horizontal,center,. String,输 入 框,Back,0,1,1);uicontrol(hf,Style,Text,Position,0.5,0.8,0.45

21、,0.1,. Units,normalized,Horizontal,center,. String,输 出 框,Back,0,1,1);uicontrol(hf,Style,Frame,Position,0.04,0.33,0.45,0.45,. Units,normalized,Back,1,1,0);uicontrol(hf,Style,Text,Position,0.05,0.6,0.25,0.1,. Units,normalized,Horizontal,center,. String,十进制数,Back,1,1,0);uicontrol(hf,Style,Text,Position

22、,0.05,0.4,0.25,0.1,. Units,normalized,Horizontal,center,. String,216进制,Back,1,1,0);he1=uicontrol(hf,Style,Edit,Position,0.25,0.6,0.2,0.1,. Units,normalized,Back,0,1,0);he2=uicontrol(hf,Style,Edit,Position,0.25,0.4,0.2,0.1,. Units,normalized,Back,0,1,0);uicontrol(hf,Style,Frame,Position,0.52,0.33,0.4

23、5,0.45,. Units,normalized,Back,1,1,0); ht=uicontrol(hf,Style,Text,Position,0.6,0.5,0.3,0.1,. Units,normalized,Horizontal,center,Back,0,1,0);COMM=n=str2num(get(he1,String);, . b=str2num(get(he2,String);,. dec=trdec(n,b);, . set(ht,string,dec);uicontrol(hf,Style,Push,Position,0.18,0.1,0.2,0.12,. Strin

24、g,转 换,Units, normalized, Call,COMM);uicontrol(hf,Style,Push,Position,0.65,0.1,0.2,0.12,. String,退 出,Units,normalized, Call,close(hf);程序调用了trdec.m函数文件,该函数的作用是将任意十进制整数转换为216进制字符串。trdec.m函数文件如下:function dec=trdec(n,b) ch1=0123456789ABCDEF; %十六进制的16个符号 k=1; while n=0 %不断除某进制基数取余直到商为0 p(k)=rem(n,b); n=fi

25、x(n/b); k=k+1; endk=k-1; strdec=; while k=1 %形成某进制数的字符串 kb=p(k); strdec=strcat(strdec,ch1(kb+1:kb+1); k=k-1; enddec=strdec;例4.3-4 一元函数极值问题:jzwt_gui.mhf=figure(Color,0,1,1,Position,200,200,600,400,. Name,一元函数极值问题, . NumberTitle,off,MenuBar,none);set(gcf,defaultuicontrolfontsize,16); h_axes=axes(Units

26、,normalized,position,0.43,0.15,0.5,0.5); %设置轴uicontrol(hf,Style,Text, Units,normalized, . Position,0.05,0.8,0.25,0.1,Horizontal,center,. String,函 数 式:,Back,0,1,1);he1=uicontrol(hf,Style,Edit,Position,0.3,0.8,0.6,0.1,. Units,normalized,Back,0,1,0); uicontrol(hf,Style,Text, Units,normalized, . Positio

27、n,0.1,0.6,0.15,0.1,Horizontal,center,. String,极 值:,Back,0,1,1); uicontrol(hf,Style,Frame,Position,0.05,0.15,0.3,0.45,. Units,normalized,Back,1,1,0);uicontrol(hf,Style,Push,Position,0.1,0.45,0.2,0.1,. String,最大值,Units,normalized,.Call,n=get(he1,String); jzwt1(n,1););uicontrol(hf,Style,Push,Position,0.1,0.25,0.2,0.1,. String,最小值, Units,normalized,.Call,n=get(he1,String); jzwt1(n,0););jzwt1.mfunction jzwt1(st,m) if (m=1) x,fval=fminbnd(-( st ),0,1) ; fval=-fval;else x,fval=fminbnd( st ),0,1);end st=sym(st);ezplot(st);axis(0 1 -1 1);hold onplot(x,fval,or)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1