为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > matlab实验 (6)

matlab实验 (6)

2023-03-02 15页 doc 247KB 19阅读

用户头像 个人认证

is_238875

暂无简介

举报
matlab实验 (6)PAGEPAGE9实验六MATLAB图形用户界面制作和仿真一、实验目的:1、了解句柄图形对象2、了解GUI的基本知识3、掌握创建GUI对象的方法4、GUI编程练习二、相关知识1、句柄图形对象(1)图形框架窗口对象(Figure)绘制图形的图形框架窗口对象核心(Core)对象绘图(Plot)对象注释对象(2)图形对象属性的获取和设置get函数set函数默认属性(3)图形对象的操作查找对象堆积次序2.GUI的基本知识(1)启动GUI(2)布局(Layout)编辑器(3)GUIDE模板介绍(4)运行GUI3.创建GUI对...
matlab实验 (6)
PAGEPAGE9实验六MATLAB图形用户界面制作和仿真一、实验目的:1、了解句柄图形对象2、了解GUI的基本知识3、掌握创建GUI对象的方法4、GUI编程练习二、相关知识1、句柄图形对象(1)图形框架窗口对象(Figure)绘制图形的图形框架窗口对象核心(Core)对象绘图(Plot)对象注释对象(2)图形对象属性的获取和设置get函数set函数默认属性(3)图形对象的操作查找对象堆积次序2.GUI的基本知识(1)启动GUI(2)布局(Layout)编辑器(3)GUIDE模板介绍(4)运行GUI3.创建GUI对象(1)GUI窗口的布局改变GUI窗口的大小控件的添加和对齐GUI控件的属性控制属性查看器的显示一些常用的属性(3)菜单的添加主菜单的创建弹出式菜单的的创建4.GUI编程GUI的M文件与句柄结构共享数据M文件中的函数和响应控件的使用使用句柄结构进行GUI数据操作三、上机练习(一)、练习书上的例子启动GUIDE启动GUIDE有三种方法:在MATLAB操作桌面,单击File→New→GUI选项、单击工具栏上的图标、在命令窗口输入guide后回车,出现GUIDEQuickStart对话框。CreatenewGUI选项卡包含四个初始化模板:BlankGUI(Default)创建一个空白的GUI、1)GUIwithUicontrols创建一个带有控制组件的GUI、GUIwithAxesandMenu创建一个带有轴对象和菜单的GUI、ModelQuestionDialog创建一个问题对话框。2)OpenExistingGUI选项卡含有一个Recentyopenedfiles(最近打开过的GUI文件)选择框。选择BlankGUI(Default)模板,单击【OK】按钮,打开GUI设计窗口。单击设计窗口File→Preferences选项,打开Preferences对话框,选中Shownameincomponentpalette选项,在组件面板中显示控件名称。设计窗口的右边为版面设计区,向版面设计区添加控件,可以用鼠标从组件面板拖动来完成版面设计完成后,单击工具栏的运行按钮,即可运行GUI。首次运行GUI时,系统会提示存盘。存盘完成后,系统会打开运行界面窗口和M文件编辑窗口,同时生成两个文件:一个是fig文件,包含对GUI及其组件的完整描述;另一个是M文件,包含GUI的程序代码和组件回调事件代码。控件介绍:(1)命令按钮(PushButton)(2)开关按钮(ToggleButton)(3)单选按钮(RadioButton)(4)核选框(CheckBox)(5)滑动条(Slider)(6)可编辑文本框(EditText)(7)静态文本框(StaticText)(8)弹出式菜单(Pop-UpMenu)(9)列表框(Listbox)(10)坐标轴(Axes)(11)面板(Panel)(12)按钮组(ButtonGroup)(13)ActiveX控件(ActiveXControl)对象属性检查器设置:利用对象属性检查器,可以查看每个对象的属性值,也可以修改、设置对象的属性值。选中某个控件,单击GUI设计窗口工具栏上按钮、单击View→PropertyInspector子菜单,直接双击控件,都可以打开对象属性检查器。界面制作包括界面设计和程序实现,一般制作步骤如下:分析界面所要求实现的主要功能,明确设计任务;界面设计,确定界面所用部件及其属性;回调函数设置;对实现的功能进行逐项调试检查;对界面部件进行装饰,使其更人性化。例子练习:例1:根据上面的界面制作步骤,制作一个界面,点击不同控件能分别显示sin(x)和tan(x)。第一步,题意分析本例子需要有一个坐标轴(Axes);要三个命令按钮控件分别控制sin(x)和tan(x)显示以及一个停止按钮。第二步,界面设计(1)新建一个GUI界面在MATLAB操作桌面上,单击File→New→GUI选项,选择BlankGUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。(2)添加控件用鼠标从GUI设计窗口的组件面板中拖动坐标轴(Axes),3个命令按钮(PushButton)控件。(3)排列控件选中两个或两个以上需要排列的控件,单击设计窗口的工具或单击Tools→AlignObjects菜单项,打开排列工具对话框,(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”,其他同上。控件设置效果如图所示:第三步,回调函数设置在“求零极点”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionsinx_Callback(hObject,eventdata,handles)后面添加如下程序:x=0:0.01:2*pi;y=sin(x);plot(x,y)title('y=sin(x)');xlabel('坐标x');ylabel('坐标y');在函数functiontanx_Callback(hObject,eventdata,handles)后面添加如下程序:x=0:0.01:2*pi;y=tan(x);plot(x,y)title('y=tan(x)');xlabel('坐标x');ylabel('坐标y');在函数functionstop_Callback(hObject,eventdata,handles)后面添加如下程序:close第四步,逐项调试单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。第五步,装饰控件一般情况停止按钮为红色较为习惯,运行按钮为绿色的,所以将STOP控件的PropertyInspercter里的BackgroundColor设置为红色;将y=sin(x)和y=tan(x)控件的PropertyInspercter里的BackgroundColor设置为绿色的例2:设计一个滚动条与一个编辑文本框互相传递并显示0~10间的数字。1、题意分析本例需调用一个滚动条(Sliders)、一个动态文本编辑框(EditText)、一个静态文本框(StaticText)、两个命令按钮(PushButton)。2、控件分析“滚动条”控件(Sliders)的响应:在图形界面中添加该控件之后,设置它的属性最大值max和最小值min,其值将在max和min之间变化。要获取“滚动条”控件的当前值及范围,“文本框”控件(EditText)的响应:在图形界面中添加该控件之后,该控件的属性相当于其他语言设计中的文本框属性,允许用户动态地编辑或是输入文本字符串。3、界面设计(1)新建一个GUI界面在MATLAB操作桌面上,单击File→New→GUI选项,选择BlankGUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。(2)添加控件用鼠标从GUI设计窗口的组件面板中拖动滚动条(Slider),一个静态文本(StaticText)一个编辑文本(EditText),3个命令按钮(PushButton)控件。(3)排列控件选中两个或两个以上的需要排列的控件,使用几何位置排列工具,排列图标。(4)设置控件属性双击需要属性设置的控件,打开对象属性检查器,设置控件属性。滚动条:BackgroundColor属性修改为深蓝色,Max属性修改为10,Max属性修改为0,其他为默认值。编辑文本:String属性修改为“数字显示栏”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。编辑文本:String属性修改为“显示”,其他属性同上。“初始化值”按钮:String属性修改为“初始化值”,Tag属性修改为“run”,BackgroundColor属性修改为绿色,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。“stop”按钮:String属性修改为“stop”,Tag属性修改为“stop”,BackgroundColor属性修改为红色,其他同上。程序界面控件布置如图4、回调函数设置各控件的回调函数Callback为对象被选中时执行的函数。在“初始化值”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionrun_Callback(hObject,eventdata,handles)后面添加如下程序:set(handles.edit1,'String',num2str(get(handles.slider1,'Value')));在滚动条上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionslider1_Callback(hObject,eventdata,handles)后面添加如下程序:set(handles.edit1,'String',num2str(get(handles.slider1,'Value')))在编辑文本上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionedit1_Callback(hObject,eventdata,handles)后面添加如下程序:val=str2double(get(handles.edit1,'String'));ifisnumeric(val)&length(val)==1&val>=get(handles.slider1,'Min')&val<=get(handles.slider1,'Max')set(handles.slider1,'Value',val);elseset(handles.edit1,'String','nonumber')end在“stop”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionstop_Callback(hObject,eventdata,handles)后面添加如下程序:close5、保存并运行GUI单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。拨动滚动条,编辑文本内显示滚轮的当前数值;在编辑文本里输入0~10任意一数字,滚动条的滚轮将移到该数字的位置。如果在编辑文本内输入的数字不在0~10之间,编辑文本将提示“nonumber”;任何时刻单击“初始化值”按钮,滚动条和编辑文本都归零。运行结果如图所示。一、图形对象句柄函数1.图形对象句柄函数函数名称说明函数名称说明gcf获得当前图形窗口的句柄gcbf获得当前正在调用的图形的句柄gca获得当前坐标轴的句柄gco获得当前对象的句柄gcbo获得当前正在调用的对象的句柄函数名称函数说明deletedelete(h)删除句柄所对应的图形对象。h为对象句柄closeclose(h)关闭句柄所对应的图形对象。h为对象句柄findobjh=findobj(‘ProperName’,‘P’)查找具有某种属性的图形对象句柄。ProperName为对象的某一个属性(通常使用tag),P为该属性的属性值,h为得到的句柄getPropertyValue=get(handle,‘Name’)获取指定图形对象某个指定属性的属性值。其中handle为图形对象的句柄、Name为某个属性名称、PropertyValue为返回的属性值setset(handle)显示指定图形对象所有可设置的属性名称及其可能取值。handle为图形对象的句柄P=set(handle,‘ProperName’)显示指定图形对象某个属性的取值。handle为图形对象的句柄,ProperName为属性,P为返回的属性值set(handle,‘Name1’,Value1,‘Name2’,Value2,‘Name3’,Value3,...)设置指定图形对象的某个属性。handle为图形对象的句柄,Name1为某个属性,Value1为设置的属性值,其他参数相同图形对象属性:1.属性名与属性值MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值称为属性值。例如:LineStyle是曲线对象的一个属性名,决定线形,可以是-、:、-.、--等。注:属性名的写法不区分大小写。此外,属性名要用单撇号括起来。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',':','Marker','p');col=get(h,'Color');图形窗口对象建立图形窗口对象使用figure函数,其调用格式为:句柄变量=figure(属性名1,属性值1,属性名2,属性值2,…)MATLAB通过对属性的操作来改变图形窗口的形式。也可以使用figure函数按MATLAB缺省的属性值建立图形窗口:figure或句柄变量=figure要关闭图形窗口,使用close函数,其调用格式为:close(窗口句柄)另外,closeall命令可以关闭所有的图形窗口,clf命令则是清除当前图形窗口的内容,但不关闭窗口。例3:建立一个图形窗口。该图形窗口没有菜单条,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将显示“Hello,KebordKeyPressed.”字样。命令如下:hf=figure('Color',[0,1,0],'Position',[1,1,300,150],...'Name','图形窗口示例','NumberTitle','off','MenuBar','none',...'KeyPressFcn','disp(''Hello,KeyboardKeyPressed.'')');菜单:MATLAB可以创建两种菜单:下拉式菜单和上下文(即弹出式)菜单。在GUIDE窗口中,单击Tools→MenuEditor…选项、或者单击工具栏中的菜单编辑器图标。在打开的菜单编辑器中,单击新菜单图标,选中Untitled1菜单项。MenuBar选项卡(1)Label:显示菜单项的标识字符串,在标识字符串中的某字母前加&字符则定义一个快捷键,由〈Alt〉键+该字符来激活。(2)Tag:菜单项的标识项。(3)Accelerator:定义菜单项的热键,与〈Ctrl〉键组合使用。(4)Separatorabovethisitem:在当前菜单项前是否显示一个分隔符,默认是不显示。(5)Checkmarkthisitem:在当前菜单项前是否显示校验标记,默认是不显示。(6)Enablethisitem:设置菜单项使能状态,默认是使能。(7)Callback:设置菜单回调函数。(8)Moreoptions:设置菜单属性。单击该按钮,可打开菜单的属性设置对话框。ContextMenus选项卡用于创建上下文(弹出式)菜单,多数是用鼠标右键单击某个图形对象时,在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象的UIContextMenu属性相联系。先创建上下文菜单,再将图形对象的UIContextMenu属性设置为菜单的标记。另外,用户可以使用或保留图形窗口标准菜单。在GUI设计窗口编辑区的空白处双击鼠标(不要选择任何控件),打开图形窗口的属性列表,设置MenuBar属性为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按钮链接一个上下文菜单来实现原来的按钮y=sin(x)和按钮y=cos(x)的绘图功能。创建菜单打开菜单编辑器MenuEditor→上下文菜单ContextMenus→点击Untitled_1→将UIContextMenuProperty里的Tag修改为tu→点击UIContextMenu里的Callback的View→编辑M文件,添加如下程序内容:[x,map]=imread('flower.jpg');imshow(x)点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项sin(x)→将UIContextMenuProperty里的属性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)曲线。点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项cos(x)→将UIContextMenuProperty里的属性Label修改为cos(x)→属性Tag修改为cos(x)→点击Callback后的View→编辑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)按钮的属性编辑器PropertyInspercter,将其String属性改为Run;属性UIContextMenu的属性值改为tu,其他不变。回调函数设置在控件Run上单击右键→ViewCallbacks,在函数functionrun_Callback(hObject,eventdata,handles)后面添加如下程序:[x,map]=imread('flower.jpg');imshow(x)这样当用户点击Run控件时,界面就会默认地显示一张图片保存并运行GUI单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。继续在例4中添加一个菜单,改变背景颜色,若不合适就返回原来的颜色打开菜单编辑器MenuEditor→菜单MenuBar→点击Untitled_1→将UIMenuProperty里的Tag修改为color0点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项rr→将UIMenuProperty里的属性Label修改为rr→属性Tag修改为rr→点击Callback后的View→编辑M文件,functionrr_Callback(hObject,eventdata,handles)添加如下程序内容:set(gcf,'color','r')点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项g1→将UIMenuProperty里的属性Label修改为g1→属性Tag修改为g1→点击Callback后的View→编辑M文件,functiong1_Callback(hObject,eventdata,handles)添加如下程序内容:set(gcf,'color',‘g')点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项re→将UIMenuProperty里的属性Label修改为re→属性Tag修改为rr→点击Callback后的View→编辑M文件,functionkt8_1_OpeningFcn(hObject,eventdata,handles,varargin)添加如下程序内容:xx=get(gcf,'color');handles.xx=xx;在functionre_Callback(hObject,eventdata,handles)添加如下程序内容:xx=handles.xx;set(gcf,'color',xx)函数功能函数格式说明打开文件fname=uigetfile列出当前目录下MATLAB能识别的所有文件,fname为返回选定的文件名uigetfile(‘FilterSpec’,‘DTitle’)列出当前目录下由参数FilterSpec指定类型的文件,DTitle为打开对话框的标题保存文件[F,P]=uiputfile(‘InitFile’,‘DTitle’)显示用于保存文件的对话框,InitFile为保存类型,DTitle为对话框的标题。F为返回的文件名,P为文件路径。F,P可缺省颜色设置uisetcolor(h,‘DTitle’)设置图形对象的颜色。h为图形对象句柄,DTitle为打开的颜色对话框标题字体设置uisetfont(h,‘DTitle’)设置文本字符串、坐标轴或控件的字体。参数同颜色设置打印预览printpreview当前图形窗口的打印预览对话框打印设置printdlg当前图形窗口的打印对话框函数功能函数格式说明帮助helpdlg(‘string’,‘DTitle’)显示帮助信息对话框。参数string为信息对话框,参数DTitle为对话框标题错误信息errordlg(‘string’,‘DTitle’)显示错误信息对话框。参数同帮助对话框信息提示msgbox(‘string’,‘DTitle’,‘icon’)显示信息提示对话框。参数icon用于指定图标,有none(默认,无图标)、error_help、warn、custom(用户自定义)四种问题提示questdlg(‘string’,‘DTitle’,‘str1’,‘str2’,‘str3’,‘default’)显示问题提示对话框。参数str1、str2、str3代表三个按钮,default必须是这三个按钮中的一个,表示默认选项警告信息warndlg(‘string’,‘DTitle’)显示警告信息对话框进程条waitbar(x,‘DTitle’)以图形方式显示运算或处理的进程。参数x为进程的比例长度,必须在0~1之间;参数DTitle为进程条标题waitbar(x,‘h’)在同一进程条中,显示进程的变化。参数h为进程条的句柄。常用在循环语句中变量输入inputdlg(prompt,DTitle,line,def,‘resize’)显示变量输入对话框。参数prompt定义输入窗口及显示信息,DTitle为对话框标题,line定义每个窗口的行数,def为输入的数据,resize定义对话框大小是否可调,可选on或off将例4中的stop按钮上添加一个停止对话框编辑M文件functionstop_Callback(hObject,eventdata,handles)添加如下程序内容:hr=questdlg('亲,你要停止吗?','stop','no','yes',1)ifhr=='yes'closeelseend例5:做一个进程条,显示进程速度,进程显示完后,自动关闭clearclch=waitbar(0,正在计算,请等待.....')fori=1:10000waitbar(i/1000,h)endclose(h)MATLAB图形用户界面设计1.建立用户菜单要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。建立一级菜单项的函数调用格式为:一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)建立子菜单项的函数调用格式为:子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)2.快捷菜单快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在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);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);');uimenu(hlw,'Label','变细','Call','set(hl,''LineWidth'',0.5);');set(hl,'UIContextMenu',hc);%将该快捷菜单和曲线对象联系起来程序运行后,若将鼠标指针指向线条并单击右键,则弹出快捷菜单。1.建立控件对象MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。例7:在一个图形窗口中绘制一个正弦曲线,并设置一个文本框,通过颜色选择对话框设置曲线及文本框内文字的颜色。跟我练:本例用到了函数uisetfont,其调用格式:h=uisetfont(h1,'title')利用函数uisetcolor设置颜色对话框,其调用格式:hc=uisetcolor(h,’title’)利用函数设置控件:hm=uicontrol(Hf,'PropertyName1',value1,'PropertyName2',value2,...)。程序内容:clearhf=figure('position',[300100500400],'name','uicontrol1','numbertitle','off');ha=axes('position',[0.40.10.50.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',[8012010060]);hc=uisetcolor(htt,'选择字体颜色');htt1=uisetfont(htt,'字体选择');例8、本例实现在界面上不断显示一系列的图片跟我练:1、利用imread函数从当前路径或搜索路径下读取图片文件。2、利用imshow函数显示图片3、利用pause函数控制图片显示的频率。4、界面设计(1)新建一个GUI界面在MATLAB操作桌面上,单击File→new→GUI选项,选择BlankGUI(Default)模板,单击“OK”按钮,打开GUI设计窗口。(2)添加控件用鼠标从GUI设计窗口的组件面板中拖动坐标轴(Axes)和2个命令按钮(pushbutton)控件。(3)排列控件选中两个命令按钮(pushbutton)控件,使用几何位置排列工具,排列图标。(4)设置控件属性双击需要属性设置的控件,打开对象属性检查器设置控件属性。“图片显示”按钮:String属性修改为“图片显示”,Tag属性修改为“show”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3。其他为默认值。“STOP”按钮:String属性修改为“STOP”,Tag属性修改为“stop”,FontUnits属性改为normalized,FontWeight属性改为bold,FontSize属性改为0.3,其他为默认值。界面布置如图所示:(5)回调函数设置在“图片显示”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionshow_Callback(hObject,eventdata,handles)后面添加如下程序:[X,map]=imread('pdh1.jpg');X2=imread('pdh2.jpg');k=1;forn=1:4imshow(X,map)pause(1)imshow(X2)pause(1)end在“STOP”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),在函数functionstop_Callback(hObject,eventdata,handles)后面添加如下程序:close6、保存并运行GUI单击工具栏的运行按钮,按照提示保存后,运行并验证程序功能。运行程序,点击“图片显示”按钮,运行结果如图所示。(二)、自己练习1、使用matlab7的帮助系统学习图形对象的Name和NumberTitle属性,创建一个图形,绘制曲线,其中。修改前边所题的两个属性,使得图形的标题为“图形窗口”。2、编制一个程序,使得“图形”窗口的默认底色为橘黄色,默认的线宽为4个像素,并绘制图形。3、使用matlab7的帮助系统学习Axes对象的CurrentPoint属性的使用方法,并使用该属性创建一个坐标轴对象,在该坐标轴内用线将连续的鼠标单击连接。使用waitforbuttonpress命令等待用户的鼠标单击,并在每次单击之后刷新图形,当按键盘上的任意键时终止程序。4、创建一个GUI,使用一个弹出式控件来选择GUI的底色。给该GUI添加一个菜单,该菜单有2个子菜单,可以选择颜色和线型。5、创建一个GUI,绘制曲线,该GUI将提示用户输入a,b,c,的值,并输入x的取值范围。6、设计一个表现渐进过程的进程条。7、不使用按钮组,建立三个具有互斥功能的单选按钮。互斥功能就是按下一个按钮,另外两个按钮弹起。8、设计一个带有绘图、操作和退出菜单的图形用户界面,其中“绘图”菜单中有“正弦曲线”和“余弦曲线”两个子菜单,分别控制在图形窗口画出正弦和余弦曲线;“操作”菜单中有“添加网格”和“清除网格”两个子菜单,用于添加和清除网格。单击“退出”菜单出现一个问题提示对话框,有“是”,“否”两个按钮,单击“是”按钮退出系统,单击“否”按钮不进行任何操作。9、设计图形用户界面,在列表框中选择函数类型(默认是正弦函数)后,单击“绘制图形”按钮,绘制出函数曲线,单击“清除图形”按钮,清除曲线,但保留坐标轴。10、设计图形用户界面。在幅值、频率输入框中输入数值后,单击“绘制图形”按钮,绘制出正弦曲线;单击“清除图形”按钮,清除曲线,保留坐标轴。如果没有输入幅值或频率数值就单击“绘制图形”按钮,不能绘制图形,并弹出错误对话框。11、仿真x(t)=sin(t)sin(10t)的波形。12、设计一个数字电路的8线----3线编码器,并Simulink仿真。13、练习书上例7-314、建立阶跃信号u(t-2)积分运算仿真模型,并观察信号波形。15、仿真y(t)=sin(t)-sin(2t)的波形。16、仿真函数sin(x)e-x的波形。(提示:使用User-DefinedFunctions模块库下的Fcn模块生成e-x).四、思考题1、什么是图形句柄?图形句柄有什么用途?如何设置和获取指定句柄对象的属性?2、回调函数的用途是什么?如何设置?3、简述GUI控件的种类,其各自的功能是什么?五、实验要求1.复习本章相关知识。2.编写程序,运行程序并记录运行结果。3.撰写实验
/
本文档为【matlab实验 (6)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索