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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(matlab实验 (6).doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

matlab实验 (6).doc

1、 实验六 MATLAB 图形用户界面制作和仿真 一、实验目的: 1、了解句柄图形对象 2、了解GUI的基本知识 3、掌握创建GUI对象的方法 4、GUI编程练习 二、相关知识 1、句柄图形对象 (1) 图形框架窗口对象(Figure) • 绘制图形的图形框架窗口对象 • 核心(Core)对象 • 绘图(Plot )对象 • 注释对象 (2) 图形对象属性的获取和设置 • get函数 • set函数 • 默认属性 (3) 图形对象的操作 • 查找对象 • 堆积次序 2. GUI的基本知识 (1)启动GUI (2)布局

2、Layout)编辑器 (3)GUIDE模板介绍 (4)运行GUI 3. 创建GUI对象 (1)GUI窗口的布局 • 改变GUI窗口的大小 • 控件的添加和对齐 (2) GUI控件的属性控制 • 属性查看器的显示 • 一些常用的属性 (3)菜单的添加 • 主菜单的创建 • 弹出式菜单的的创建 4. GUI 编 程 • GUI的M文件 – 与句柄结构共享数据 – M文件中的函数和响应 • 控件的使用 • 使用句柄结构进行GUI数据操作 三、上机练习 (一)、练习书上的例子 启动GUIDE 启动GUIDE

3、有三种方法:在MATLAB操作桌面,单击File→New→GUI选项、单击工具栏上的图标 、在命令窗口输入guide后回车,出现GUIDE Quick Start对话框。 Create new GUI选项卡包含四个初始化设计模板:Blank GUI(Default)创建一个空白的GUI、1) GUI with Uicontrols创建一个带有控制组件的GUI、GUI with Axes and Menu创建一个带有轴对象和菜单的GUI、Model Question Dialog创建一个问题对话框。 2)Open Existing GUI选项卡含有一个Recenty opened fi

4、les(最近打开过的GUI文件)选择框。 选择Blank GUI(Default)模板,单击【OK】按钮,打开GUI设计窗口。 单击设计窗口File→Preferences选项,打开Preferences对话框,选中Show name in component palette选项,在组件面板中显示控件名称。 设计窗口的右边为版面设计区,向版面设计区添加控件,可以用鼠标从组件面板拖动来完成版面设计完成后,单击工具栏的运行按钮,即可运行GUI。 首次运行 GUI 时,系统会提示存盘。存盘完成后,系统会打开运行界面窗口和M文件编辑窗口,同时生成两个文件:一个是fig文件,

5、包含对GUI及其组件的完整描述;另一个是M文件,包含GUI的程序代码和组件回调事件代码。 控件介绍: (1)命令按钮(Push Button) (2)开关按钮(Toggle Button) (3)单选按钮(Radio Button) (4)核选框(Check Box) (5)滑动条(Slider) (6)可编辑文本框(Edit Text) (7)静态文本框(Static Text) (8)弹出式菜单(Pop-Up Menu) (9)列表框(Listbox) (10)坐标轴(Axes) (11)面板(Panel) (12)按钮组(Button Group) (13)

6、ActiveX控件(ActiveX Control) 对象属性检查器设置 : 利用对象属性检查器,可以查看每个对象的属性值,也可以修改、设置对象的属性值。 选中某个控件,单击GUI设计窗口工具栏上 按钮、单击View→Property Inspector子菜单,直接双击控件,都可以打开对象属性检查器。 界面制作包括界面设计和程序实现,一般制作步骤如下: Ø 分析界面所要求实现的主要功能,明确设计任务; Ø 界面设计,确定界面所用部件及其属性; Ø 回调函数设置; Ø 对实现的功能进行逐项调试检查; Ø 对界面部件进行装饰,使其更人性化。 例子练习: 例1:根据

7、上面的界面制作步骤,制作一个界面,点击不同控件能分别显示sin(x)和tan(x)。 第一步,题意分析 本例子需要有一个坐标轴(Axes);要三个命令按钮控件分别控制sin(x)和tan(x)显示以及一个停止按钮。 第二步,界面设计 (1)新建一个GUI界面 在MATLAB操作桌面上,单击File → New → GUI选项,选择Blank GUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。 (2)添加控件 用鼠标从GUI设计窗口的组件面板中拖动坐标轴(Axes),3个命令按钮(PushButton)控件。 (3)排列控件 选中两个或两个以上需要

8、排列的控件,单击设计窗口的工具或单击Tools→Align Objects菜单项,打开排列工具对话框, (4)设置控件属性 双击需要属性设置的控件,打开对象属性检查器,设置控件属性。 “y=sin(x)”按钮:String属性修改为y=sin(x),FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3,其他为默认值。 “y=tan(x)”编辑文本:String属性修改为y=tan(x),其他属性同上。 “STOP”按钮:String属性修改为“stop”,Tag属性修改为“stop”,其他同上。 控件设置效果如图所示

9、 第三步,回调函数设置 在“求零极点”按钮上点击右键,下拉菜单选择View CallBacks → CallBack(回调函数), 在函数function sinx_Callback(hObject, eventdata, handles)后面添加如下程序: x=0:0.01:2*pi; y=sin(x); plot(x,y) title('y=sin(x)'); xlabel('坐标x'); ylabel('坐标y'); 在函数function tanx_Callback(hObject, eventdata, handles)后面添加如下程序: x=0:0.

10、01:2*pi; y=tan(x); plot(x,y) title('y=tan(x)'); xlabel('坐标x'); ylabel('坐标y'); 在函数function stop_Callback(hObject, eventdata, handles)后面添加如下程序: close 第四步,逐项调试检测 单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。 第五步,装饰控件 一般情况停止按钮为红色较为习惯,运行按钮为绿色的,所以将STOP控件的Property Inspercter里的BackgroundColor设置为红色;将y=sin(x)和y=ta

11、n(x)控件的Property Inspercter里的BackgroundColor设置为绿色的 例2:设计一个滚动条与一个编辑文本框互相传递并显示0~10间的数字。 1、题意分析 本例需调用一个滚动条(Sliders)、一个动态文本编辑框(Edit Text)、一个静态文本框(Static Text)、两个命令按钮(Push Button)。 2、控件分析 “滚动条”控件(Sliders)的响应:在图形界面中添加该控件之后,设置它的属性最大值max和最小值min,其值将在max和min之间变化。要获取“滚动条”控件的当前值及范围, “文本框”控件(Edit Text)的响应:在

12、图形界面中添加该控件之后,该控件的属性相当于其他语言设计中的文本框属性,允许用户动态地编辑或是输入文本字符串。 3、界面设计 (1)新建一个GUI界面 在MATLAB操作桌面上,单击File → New → GUI选项,选择Blank GUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。 (2)添加控件 用鼠标从GUI设计窗口的组件面板中拖动滚动条(Slider),一个静态文本(Static Text)一个编辑文本(Edit Text),3个命令按钮(PushButton)控件。 (3)排列控件 选中两个或两个以上的需要排列的控件,使用几何位置排列工具,排列图标。

13、 (4)设置控件属性 双击需要属性设置的控件,打开对象属性检查器,设置控件属性。 滚动条:BackgroundColor属性修改为深蓝色,Max属性修改为10,Max属性修改为0,其他为默认值。 编辑文本:String属性修改为“数字显示栏”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。 编辑文本:String属性修改为“显示”,其他属性同上。 “初始化值”按钮:String属性修改为“初始化值”,Tag属性修改为“run”,BackgroundColor属性修改为绿色,FontUnits属

14、性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。 “stop”按钮:String属性修改为“stop”,Tag属性修改为“stop”,BackgroundColor属性修改为红色,其他同上。 程序界面控件布置如图 4、回调函数设置 各控件的回调函数Callback为对象被选中时执行的函数。 在“初始化值”按钮上点击右键,下拉菜单选择View CallBacks → CallBack(回调函数), 在函数function run_Callback(hObject, eventdata, handles)后面添加

15、如下程序: set(handles.edit1,'String',num2str(get(handles.slider1,'Value'))); 在滚动条上点击右键,下拉菜单选择View CallBacks → CallBack(回调函数), 在函数function slider1 _Callback(hObject, eventdata, handles)后面添加如下程序: set(handles.edit1,'String',num2str(get(handles.slider1,'Value'))) 在编辑文本上点击右键,下拉菜单选择View CallBacks → CallB

16、ack(回调函数), 在函数function edit1_ Callback(hObject, eventdata, handles)后面添加如下程序: val=str2double(get(handles.edit1,'String')); if isnumeric(val)&length(val)==1&val>=get(handles.slider1,'Min')&val<=get(handles.slider1,'Max') set(handles.slider1,'Value',val); else set(handles.edit1,'String','

17、no number') end 在“stop”按钮上点击右键,下拉菜单选择View CallBacks → CallBack(回调函数), 在函数function stop _ Callback(hObject, eventdata, handles)后面添加如下程序: close 5、 保存并运行GUI 单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。 拨动滚动条,编辑文本内显示滚轮的当前数值;在编辑文本里输入0~10任意一数字,滚动条的滚轮将移到该数字的位置。 如果在编辑文本内输入的数字不在0~10之间,编辑文本将提示“no number”;任何时刻单击“初始化

18、值”按钮,滚动条和编辑文本都归零。 运行结果如图所示。 一、图形对象句柄函数 1.图形对象句柄函数 函数名称 说明 函数名称 说明 gcf 获得当前图形窗口的句柄 gcbf 获得当前正在调用的图形的句柄 gca 获得当前坐标轴的句柄 gco 获得当前对象的句柄 gcbo 获得当前正在调用的对象的句柄 函数名称 函数格式 说明 delete delete(h) 删除句柄所对应的图形对象。h为对象句柄 close close(h) 关闭句柄所对应的图形对象。h为对象句柄 findobj h=findobj(‘Pr

19、operName’, ‘P’) 查找具有某种属性的图形对象句柄。ProperName为对象的某一个属性(通常使用tag),P为该属性的属性值,h为得到的句柄 get PropertyValue=get(handle, ‘Name’) 获取指定图形对象某个指定属性的属性值。其中handle为图形对象的句柄、Name为某个属性名称、PropertyValue为返回的属性值 set set(handle) 显示指定图形对象所有可设置的属性名称及其可能取值。handle为图形对象的句柄 P=set(handle, ‘ProperName’) 显示指定图形对象某个属性的取值。handl

20、e为图形对象的句柄,ProperName为属性,P为返回的属性值 set(handle,‘Name1’,Value1,‘Name2’, Value2, ‘Name3’,Value3,...) 设置指定图形对象的某个属性。handle为图形对象的句柄,Name1为某个属性,Value1为设置的属性值,其他参数相同 图形对象属性: 1.属性名与属性值 MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值称为属性值。 例如:LineStyle是曲线对象的一个属性名,决定线形,可以是-、:、-.、--等。 注:属性名的写法不区分大小写。此外,属性名

21、要用单撇号括起来。 2.属性的操作 ① set函数重设对象属性,调用格式为: set(句柄,属性名1,属性值1,属性名2,属性值2,…) 其中句柄用于指明要操作的图形对象。如果在调用set函数时省略全部属性名和属性值,则将显示出句柄所有的允许属性。 ② get函数获取属性值,调用格式为: V=get(句柄,属性名) 其中V是返回的属性值。如果在调用get函数时省略属性名,则将返回句柄所有的属性值。 例如,绘制正弦曲线, x=0:pi/10:2*pi; h=plot(x,sin(x)); set(h, 'Color', 'r', 'LineStyle', ':

22、', 'Marker', 'p'); col=get(h, 'Color'); 图形窗口对象 建立图形窗口对象使用figure函数,其调用格式为: 句柄变量=figure(属性名1,属性值1,属性名2,属 性值2,…) MATLAB通过对属性的操作来改变图形窗口的形式。也可以使用figure函数按MATLAB缺省的属性值建立图形窗口:figure 或 句柄变量=figure 要关闭图形窗口,使用close函数,其调用格式为:close(窗口句柄) 另外,close all 命令可以关闭所有的图形窗口,clf命令则是清除当前图形窗口的内容,但不关

23、闭窗口。 例3: 建立一个图形窗口。该图形窗口没有菜单条,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将显示“Hello,Kebord Key Pressed.”字样。 命令如下: hf=figure('Color',[0,1,0],'Position',[1,1,300,150],... 'Name','图形窗口示例','NumberTitle','off', 'MenuBar','none', ... 'KeyPressFcn', 'disp(''Hello,Keyboard Ke

24、y Pressed.'')'); 菜单 : MATLAB可以创建两种菜单:下拉式菜单和上下文(即弹出式)菜单。 在GUIDE窗口中,单击Tools→Menu Editor…选项、或者单击工具栏中的菜单编辑器图标 。在打开的菜单编辑器中,单击 新菜单图标,选中Untitled1菜单项。 Menu Bar选项卡 (1)Label:显示菜单项的标识字符串,在标识字符串中的某字母前加&字符则定义一个快捷键,由〈Alt〉键+该字符来激活。 (2)Tag:菜单项的标识项。 (3)Accelerator:定义菜单项的热键,与〈Ctrl〉键组合使用。 (4)Sepa

25、rator above this item:在当前菜单项前是否显示一个分隔符,默认是不显示。 (5)Check mark this item:在当前菜单项前是否显示校验标记,默认是不显示。 (6)Enable this item:设置菜单项使能状态,默认是使能。 (7)Callback:设置菜单回调函数。 (8)More options:设置菜单属性。单击该按钮,可打开菜单的属性设置对话框。 Context Menus选项卡用于创建上下文(弹出式)菜单,多数是用鼠标右键单击某个图形对象时,在屏幕上弹出的菜单。 这种菜单出现的位置是不固定的,而且总是和某个图形对象的UICont

26、extMenu属性相联系。 先创建上下文菜单,再将图形对象的UIContextMenu属性设置为菜单的标记。 另外,用户可以使用或保留图形窗口标准菜单。 在GUI设计窗口编辑区的空白处双击鼠标(不要选择任何控件),打开图形窗口的属性列表,设置Menu Bar属性为figure即可。 例4:现将例1里的按钮y=sin(x)和按钮y=cos(x)合并到Run按钮,通过Run按钮的上下文菜单来选择y=sin(x) 和y=cos(x)。 跟我练: 题意分析 将按钮y=cos(x)删除,将按钮y=sin(x)改做Run按钮,同时在Run按钮链接一个上下文菜单来实现原来的按钮

27、y=sin(x)和按钮y=cos(x)的绘图功能。 创建菜单 打开菜单编辑器Menu Editor →上下文菜单Context Menus →点击Untitled_1 →将UIContextMenu Property里的Tag修改为tu →点击UIContextMenu里的Callback的View →编辑M文件,添加如下程序内容: [x,map]=imread('flower.jpg'); imshow(x) 点击菜单编辑器Menu Editor的New Menu Item,→添加菜单子项sin(x) →将UIContextMenu Property里的属性

28、Label修改为sin (x)→属性Tag修改为sin(x) →点击Callback后的View →编辑M文件,添加如下程序内容: x=0:0.01:2*pi; y=sin(x); plot(x,y) title('y=sin(x)'); xlabel('坐标x'); ylabel('坐标y'); 在默认情况显示y=sin(x)曲线。 点击菜单编辑器Menu Editor的New Menu Item,→添加菜单子项cos(x) →将UIContextMenu Property里的属性Label修改为cos (x)→属性Tag修改为cos(x) →点击Callback后的View

29、 →编辑M文件,添加如下程序内容: x=0:0.01:2*pi; y=cos(x); plot(x,y) title('y=cos(x)'); xlabel('坐标x'); ylabel('坐标y'); 界面设计 把例1的GUI设计窗口里y=cos(x)按钮删除。打开y=sin(x)按钮的属性编辑器Property Inspercter,将其String属性改为Run;属性UIContextMenu的属性值改为tu,其他不变。 回调函数设置 在控件Run上单击右键→View Callbacks,在函数function run_Callback(hObject, eve

30、ntdata, handles)后面添加如下程序: [x,map]=imread('flower.jpg'); imshow(x) 这样当用户点击Run控件时,界面就会默认地显示一张图片 保存并运行GUI 单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。 继续在例4中添加一个菜单,改变背景颜色,若不合适就返回原来的颜色 打开菜单编辑器Menu Editor →菜单 Menu Bar →点击Untitled_1 →将UIMenu Property里的Tag修改为color0 点击菜单编辑器Menu Editor的New Menu Item,→添加菜单子项r

31、r →将UIMenu Property里的属性Label修改为rr→属性Tag修改为rr →点击Callback后的View →编辑M文件,function rr_Callback(hObject, eventdata, handles) 添加如下程序内容: set(gcf,'color','r') 点击菜单编辑器Menu Editor的New Menu Item,→添加菜单子项g1 →将UIMenu Property里的属性Label修改为g1→属性Tag修改为g1→点击Callback后的View →编辑M文件,function g1_Callback(hObject, eve

32、ntdata, handles) 添加如下程序内容: set(gcf,'color',‘g') 点击菜单编辑器Menu Editor的New Menu Item,→添加菜单子项re →将UIMenu Property里的属性Label修改为re→属性Tag修改为rr →点击Callback后的View →编辑M文件,function kt8_1_OpeningFcn(hObject, eventdata, handles, varargin)添加如下程序内容: xx=get(gcf,'color'); handles.xx=xx; 在function re_Cal

33、lback(hObject, eventdata, handles) 添加如下程序内容: xx=handles.xx; set(gcf,'color',xx) 函数功能 函数格式 说明 打开文件 fname=uigetfile 列出当前目录下MATLAB能识别的所有文件,fname为返回选定的文件名 uigetfile(‘FilterSpec’, ‘DTitle’) 列出当前目录下由参数FilterSpec指定类型的文件,DTitle为打开对话框的标题 保存文件 [F,P]= uiputfile(‘InitFile’, ‘DTitle’) 显示用于保存文件

34、的对话框,InitFile为保存类型,DTitle为对话框的标题。F为返回的文件名,P为文件路径。F,P可缺省 颜色设置 uisetcolor(h, ‘DTitle’) 设置图形对象的颜色。h为图形对象句柄,DTitle为打开的颜色对话框标题 字体设置 uisetfont(h, ‘DTitle’) 设置文本字符串、坐标轴或控件的字体。参数同颜色设置 打印预览 printpreview 当前图形窗口的打印预览对话框 打印设置 printdlg 当前图形窗口的打印对话框 函数功能 函数格式 说明 帮助 helpdlg(‘string’,‘DTitle’) 显

35、示帮助信息对话框。参数string为信息对话框,参数DTitle为对话框标题 错误信息 errordlg(‘string’,‘DTitle’) 显示错误信息对话框。参数同帮助对话框 信息提示 msgbox(‘string’,‘DTitle’,‘icon’) 显示信息提示对话框。参数icon用于指定图标,有none(默认,无图标)、error_help、warn、custom(用户自定义)四种 问题提示 questdlg(‘string’,‘DTitle’, ‘str1’, ‘str2’, ‘str3’, ‘default’) 显示问题提示对话框。参数str1、str2、 st

36、r3代表三个按钮,default必须是这三个按钮中的一个,表示默认选项 警告信息 warndlg(‘string’,‘DTitle’) 显示警告信息对话框 进程条 waitbar(x ,‘DTitle’) 以图形方式显示运算或处理的进程。参数x为进程的比例长度,必须在0~1之间;参数DTitle为进程条标题 waitbar(x ,‘h’) 在同一进程条中,显示进程的变化。参数h为进程条的句柄。常用在循环语句中 变量输入 inputdlg(prompt ,DTitle, line ,def ,‘resize’) 显示变量输入对话框。参数prompt定义输入窗口及显示信息,

37、DTitle为对话框标题,line定义每个窗口的行数,def为输入的数据,resize定义对话框大小是否可调,可选on或off 将例4中的stop按钮上添加一个停止对话框 编辑M文件function stop_Callback(hObject, eventdata, handles)添加如下程序内容: hr=questdlg('亲,你要停止吗?','stop','no','yes',1) if hr=='yes' close else end 例5:做一个进程条,显示进程速度,进程显示完后,自动关闭 clear clc h=waitbar(0,正在计算,请等待..

38、') for i=1:10000 waitbar(i/1000,h) end close(h) MATLAB图形用户界面设计 1. 建立用户菜单 要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 建立子菜单项的函数调用格式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…) 2. 快捷菜单 快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的

39、菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。 在MATLAB中,可以使用uicontextmenu函数和图形对象的 UIContextMenu属性来建立快捷菜单,具体步骤为: (1) 利用uicontextmenu函数建立快捷菜单。 (2) 利用uimenu函数为快捷菜单建立菜单项。 (3) 利用set函数将该快捷菜单和某图形对象联系起来。 例6: 绘制曲线y=2sin(5x)sinx,并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。 x=0:pi/100:2*pi; y=2*sin(5*x).*sin(x); hl=plot(x,y)

40、 hc=uicontextmenu; %建立快捷菜单 hls=uimenu(hc,'Label','线型'); %建立菜单项 hlw=uimenu(hc,'Label','线宽'); uimenu(hls,'Label','虚线','Call','set(hl,''LineStyle'','':'');'); uimenu(hls,'Label','实线','Call','set(hl,''LineStyle'',''-'');'); uimenu(hlw,'Label','加宽','Call','set(hl,''LineWidth'',2);')

41、 uimenu(hlw,'Label','变细','Call','set(hl,''LineWidth'',0.5);'); set(hl,'UIContextMenu',hc); %将该快捷菜单和曲线对象联系起来 程序运行后,若将鼠标指针指向线条并单击右键,则弹出快捷菜单。 1.建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为: 对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。 例7:在一个

42、图形窗口中绘制一个正弦曲线,并设置一个文本框,通过颜色选择对话框设置曲线及文本框内文字的颜色。 跟我练: 本例用到了函数uisetfont,其调用格式: h=uisetfont(h1,'title') 利用函数uisetcolor设置颜色对话框,其调用格式: hc=uisetcolor(h,’title’) 利用函数设置控件: hm=uicontrol(Hf,'PropertyName1',value1,'PropertyName2',value2,...) 。 程序内容: clear hf=figure('position',[300 100 500 400],'name

43、','uicontrol1','numbertitle','off'); ha=axes('position',[0.4 0.1 0.5 0.5],'box','on'); %设置曲线颜色 x=0:0.01:2*pi; y=sin(x); h1=plot(x,y); hc=uisetcolor(h1,'选择曲线颜色'); %设置字体及颜色 htt=uicontrol(hf,'style','text','string','练习练习?','position',[80 120 100 60]); hc=uisetcolor(htt,'选择字体颜色'); htt1=uisetfo

44、nt(htt,'字体选择'); 例8、本例实现在界面上不断显示一系列的图片 跟我练: 1、利用imread函数从当前路径或搜索路径下读取图片文件。 2、利用imshow函数显示图片 3、利用pause函数控制图片显示的频率。 4、界面设计 (1)新建一个GUI界面 在MATLAB操作桌面上,单击File → new → GUI选项,选择Blank GUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。 (2)添加控件 用鼠标从GUI设计窗口的组件面板中拖动坐标轴(Axes)和2个命令按钮(pushbutton)控件。 (3)排列控件 选中两

45、个命令按钮(pushbutton)控件,使用几何位置排列工具,排列图标。 (4)设置控件属性 双击需要属性设置的控件,打开对象属性检查器设置控件属性。 “图片显示”按钮:String属性修改为“图片显示”,Tag属性修改为“show”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。 “STOP”按钮:String属性修改为“STOP”,Tag属性修改为“stop”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3,其他为默认值。界面布

46、置如图所示: (5)回调函数设置 在“图片显示”按钮上点击右键,下拉菜单选择View CallBacks → CallBack(回调函数), 在函数function show_Callback(hObject, eventdata, handles)后面添加如下程序: [X,map]=imrea d('pdh1.jpg'); X2=imread('pdh2.jpg'); k=1; for n=1:4 imshow(X,map) pause(1) imshow(X2) pause(1) end 在“STOP”按钮上点击右键,下拉菜单选择View CallBa

47、cks → CallBack(回调函数), 在函数function stop_Callback(hObject, eventdata, handles)后面添加如下程序: close 6、 保存并运行GUI 单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。 运行程序,点击“图片显示”按钮,运行结果如图所示。 (二)、自己练习 1、使用matlab7的帮助系统学习图形对象的Name和NumberTitle属性,创建一个图形,绘制曲线,其中。修改前边所题的两个属性,使得图形的标题为“图形窗口”。 2、编制一个程序,使得“图形”窗口的默认底色为橘黄色,默认的线宽为

48、4个像素,并绘制图形。 3、使用matlab7的帮助系统学习Axes对象的CurrentPoint属性的使用方法,并使用该属性创建一个坐标轴对象,在该坐标轴内用线将连续的鼠标单击连接。使用waitforbuttonpress命令等待用户的鼠标单击,并在每次单击之后刷新图形,当按键盘上的任意键时终止程序。 4、创建一个GUI,使用一个弹出式控件来选择GUI的底色。给该GUI添加一个菜单,该菜单有2个子菜单,可以选择颜色和线型。 5、创建一个GUI,绘制曲线,该GUI将提示用户输入a,b,c,的值,并输入x的取值范围。 6、设计一个表现渐进过程的进程条。 7、不使用按钮组,建立三个具有互

49、斥功能的单选按钮。互斥功能就是按下一个按钮,另外两个按钮弹起。 8、设计一个带有绘图、操作和退出菜单的图形用户界面,其中“绘图”菜单中有“正弦曲线”和“余弦曲线”两个子菜单,分别控制在图形窗口画出正弦和余弦曲线;“操作”菜单中有“添加网格”和“清除网格”两个子菜单,用于添加和清除网格。单击“退出”菜单出现一个问题提示对话框,有“是”,“否”两个按钮,单击“是”按钮退出系统,单击“否”按钮不进行任何操作。 9、设计图形用户界面,在列表框中选择函数类型(默认是正弦函数)后,单击“绘制图形”按钮,绘制出函数曲线,单击“清除图形”按钮,清除曲线,但保留坐标轴。 10、设计图形用户界面。在幅值、频

50、率输入框中输入数值后,单击“绘制图形”按钮,绘制出正弦曲线;单击“清除图形”按钮,清除曲线,保留坐标轴。如果没有输入幅值或频率数值就单击“绘制图形”按钮,不能绘制图形,并弹出错误对话框。 11、仿真x(t)=sin(t)sin(10t) 的波形。 12、设计一个数字电路的8线----3线编码器,并Simulink仿真。 13、练习书上例7-3 14、建立阶跃信号 u(t-2) 积分运算仿真模型,并观察信号波形。 15、仿真y(t)=sin(t)-sin(2t)的波形。 16、仿真函数sin(x)e-x 的波形。(提示:使用User-Defined Functions模块库下的Fcn

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服