matlab实验 6Word格式文档下载.docx

上传人:b****3 文档编号:7532524 上传时间:2023-05-08 格式:DOCX 页数:26 大小:123.38KB
下载 相关 举报
matlab实验 6Word格式文档下载.docx_第1页
第1页 / 共26页
matlab实验 6Word格式文档下载.docx_第2页
第2页 / 共26页
matlab实验 6Word格式文档下载.docx_第3页
第3页 / 共26页
matlab实验 6Word格式文档下载.docx_第4页
第4页 / 共26页
matlab实验 6Word格式文档下载.docx_第5页
第5页 / 共26页
matlab实验 6Word格式文档下载.docx_第6页
第6页 / 共26页
matlab实验 6Word格式文档下载.docx_第7页
第7页 / 共26页
matlab实验 6Word格式文档下载.docx_第8页
第8页 / 共26页
matlab实验 6Word格式文档下载.docx_第9页
第9页 / 共26页
matlab实验 6Word格式文档下载.docx_第10页
第10页 / 共26页
matlab实验 6Word格式文档下载.docx_第11页
第11页 / 共26页
matlab实验 6Word格式文档下载.docx_第12页
第12页 / 共26页
matlab实验 6Word格式文档下载.docx_第13页
第13页 / 共26页
matlab实验 6Word格式文档下载.docx_第14页
第14页 / 共26页
matlab实验 6Word格式文档下载.docx_第15页
第15页 / 共26页
matlab实验 6Word格式文档下载.docx_第16页
第16页 / 共26页
matlab实验 6Word格式文档下载.docx_第17页
第17页 / 共26页
matlab实验 6Word格式文档下载.docx_第18页
第18页 / 共26页
matlab实验 6Word格式文档下载.docx_第19页
第19页 / 共26页
matlab实验 6Word格式文档下载.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab实验 6Word格式文档下载.docx

《matlab实验 6Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab实验 6Word格式文档下载.docx(26页珍藏版)》请在冰点文库上搜索。

matlab实验 6Word格式文档下载.docx

–与句柄结构共享数据

–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)后面添加如下程序:

y=tan(x);

y=tan(x)'

在函数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、界面设计

用鼠标从GUI设计窗口的组件面板中拖动滚动条(Slider),一个静态文本(StaticText)一个编辑文本(EditText),3个命令按钮(PushButton)控件。

选中两个或两个以上的需要排列的控件,使用几何位置排列工具,排列图标。

滚动条:

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)后面添加如下程序:

)))

在编辑文本上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),

在函数functionedit1_Callback(hObject,eventdata,handles)后面添加如下程序:

val=str2double(get(handles.edit1,'

));

ifisnumeric(val)&

length(val)==1&

val>

=get(handles.slider1,'

Min'

)&

val<

Max'

set(handles.slider1,'

val);

else

set(handles.edit1,'

'

nonumber'

end

在“stop”按钮上点击右键,下拉菜单选择ViewCallBacks→CallBack(回调函数),

在函数functionstop_Callback(hObject,eventdata,handles)后面添加如下程序:

5、保存并运行GUI

拨动滚动条,编辑文本内显示滚轮的当前数值;

在编辑文本里输入0~10任意一数字,滚动条的滚轮将移到该数字的位置。

如果在编辑文本内输入的数字不在0~10之间,编辑文本将提示“nonumber”;

任何时刻单击“初始化值”按钮,滚动条和编辑文本都归零。

运行结果如图所示。

一、图形对象句柄函数

1.图形对象句柄函数

函数名称

说明

gcf

获得当前图形窗口的句柄

gcbf

获得当前正在调用的图形的句柄

gca

获得当前坐标轴的句柄

gco

获得当前对象的句柄

gcbo

获得当前正在调用的对象的句柄

函数格式

delete

delete(h)

删除句柄所对应的图形对象。

h为对象句柄

close(h)

关闭句柄所对应的图形对象。

findobj

h=findobj(‘ProperName’,‘P’)

查找具有某种属性的图形对象句柄。

ProperName为对象的某一个属性(通常使用tag),P为该属性的属性值,h为得到的句柄

get

PropertyValue=get(handle,‘Name’)

获取指定图形对象某个指定属性的属性值。

其中handle为图形对象的句柄、Name为某个属性名称、PropertyValue为返回的属性值

set

set(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:

h=plot(x,sin(x));

set(h,'

Color'

'

r'

LineStyle'

:

'

Marker'

p'

col=get(h,'

图形窗口对象

建立图形窗口对象使用figure函数,其调用格式为:

句柄变量=figure(属性名1,属性值1,属性名2,属性值2,…)

MATLAB通过对属性的操作来改变图形窗口的形式。

也可以使用figure函数按MATLAB缺省的属性值建立图形窗口:

figure或句柄变量=figure

要关闭图形窗口,使用close函数,其调用格式为:

close(窗口句柄)

另外,closeall命令可以关闭所有的图形窗口,clf命令则是清除当前图形窗口的内容,但不关闭窗口。

例3:

建立一个图形窗口。

该图形窗口没有菜单条,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将显示“Hello,KebordKeyPressed.”字样。

命令如下:

hf=figure('

[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文件,添加如下程序内容:

在默认情况显示y=sin(x)曲线。

点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项cos(x)→将UIContextMenuProperty里的属性Label修改为cos(x)→属性Tag修改为cos(x)→点击Callback后的View→编辑M文件,添加如下程序内容:

y=cos(x);

y=cos(x)'

界面设计

把例1的GUI设计窗口里y=cos(x)按钮删除。

打开y=sin(x)按钮的属性编辑器PropertyInspercter,将其String属性改为Run;

属性UIContextMenu的属性值改为tu,其他不变。

回调函数设置

在控件Run上单击右键→ViewCallbacks,在函数functionrun_Callback(hObject,eventdata,handles)后面添加如下程序:

[x,map]=imread('

这样当用户点击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'

点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项g1→将UIMenuProperty里的属性Label修改为g1→属性Tag修改为g1→点击Callback后的View→编辑M文件,functiong1_Callback(hObject,eventdata,handles)

‘g'

点击菜单编辑器MenuEditor的NewMenuItem,→添加菜单子项re→将UIMenuProperty里的属性Label修改为re→属性Tag修改为rr→点击Callback后的View→编辑M文件,functionkt8_1_OpeningFcn(hObject,eventdata,handles,varargin)添加如下程序内容:

xx=get(gcf,'

handles.xx=xx;

在functionre_Callback(hObject,eventdata,handles)添加如下程序内容:

xx=handles.xx;

set(gcf,'

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’)

设置文本字符串、坐标轴或控件的字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2