MATLAB教案ch11 图形用户界面GUI制作Word文档下载推荐.docx
- 文档编号:19411605
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:34
- 大小:445.97KB
MATLAB教案ch11 图形用户界面GUI制作Word文档下载推荐.docx
《MATLAB教案ch11 图形用户界面GUI制作Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB教案ch11 图形用户界面GUI制作Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。
currentaxes'
H);
str='
\fontname{隶书}归一化二阶系统的阶跃响应曲线'
;
text(0.12,0.93,str,'
fontsize'
13);
h_fig=get(H,'
parent'
set(h_fig,'
[0.1,0.2,0.7,0.4]);
h_axes=axes('
h_fig,...
'
[0.1,0.15,0.55,0.7],...
xlim'
[015],'
ylim'
[01.8],'
8);
图11.1-1产生坐标轴
(2)在坐标框右侧生成作解释用的“静态文本”和可接受输入的“编辑框”:
h_text=uicontrol(h_fig,'
style'
text'
...
[0.67,0.73,0.25,0.14],...
horizontal'
left'
string'
{'
输入阻尼比系数'
zeta='
});
h_edit=uicontrol(h_fig,'
edit'
[0.67,0.59,0.25,0.14],...
callback'
[...
z=str2num(get(gcbo,'
'
));
t=0:
0.1:
15;
fork=1:
length(z);
s2=tf(1,[12*z(k)1]);
y(:
k)=step(s2,t);
plot(t,y(:
k));
if(length(z)>
1),holdon,end,'
end;
'
holdoff,'
]);
图11.1-2在图形界面中添加编辑框和文本框
(3)形成坐标方格控制按键:
h_push1=uicontrol(h_fig,'
push'
[0.67,0.37,0.12,0.15],...
gridon'
h_push2=uicontrol(h_fig,'
[0.67,0.15,0.12,0.15],...
gridoff'
图11.1-3添加了两个按键的图形界面
(4)输入阻尼比系数
,可得单位阶跃响应曲线:
图11.1-4输入标量阻尼比所得到的响应曲线
图11.1-5输入阻尼比数组所得到的一组响应曲线
11.2图形用户界面的设计原则和一般步骤
11.2.1设计原则
11.2.2一般制作步骤
11.3界面菜单(uimenu)
11.3.1图形窗的标准菜单
【例11.3.1-1】本例说明:
如何隐藏和恢复标准菜单的显示。
(1)获得缺省设置的标准菜单
figure
(2)隐去标准菜单的两种方法
set(H_fig,'
MenuBar'
none'
);
menubar'
menubar);
(3)恢复图形窗上标准菜单
figure'
图11.3.1-1含有菜单条的图形窗
图11.3.1-2移去菜单条的图形窗
11.3.2自制的用户菜单
【*例11.3.2-1】本例演示:
如何自制一个带下拉菜单表的用户菜单(如图11.3.2-1所示)。
该菜单能使图形窗背景颜色设置为兰色或红色。
figure%创建一个图形窗
h_menu=uimenu(gcf,'
label'
Color'
%制作用户顶层菜单项Color<
2>
h_submenu1=uimenu(h_menu,'
Blue'
...%制作下拉菜单项Blue<
3>
blue'
)'
%<
4>
h_submenu2=uimenu(h_menu,'
Red'
...%制作下拉菜单Red<
5>
red'
6>
图11.3.2-1创建用户菜单示例
11.3.3用户菜单的属性
11.3.3.1回调属性和菜单名
【*例11.3.3.1-1】本例的目标是:
在图形窗上自制一个名为【Test】的“顶层菜单项”;
当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。
通过本例说明:
(A)回调属性的运作机理;
(B)用户顶层菜单项的制作(C)uimenu属性的设置方法;
(D)复杂字符串的构成方法和注意事项。
(1)在MATLAB指令窗中运行以下程序可产生带分格的封闭坐标轴(见图11.3.3.1-1)
gridon,set(gca,'
box'
on'
)
图11.3.3.1-1带分格的封闭坐标轴
(2)在MATLAB指令窗中用以下eval指令可产生与图11.3.3.1-1相同的界面
eval('
(3)产生图11.3.3.1-2界面的uimenu的书写格式一:
直接连续表示法
uimenu('
Label'
Test'
Callback'
),'
图11.3.3.1-2通过顶层菜单Test形成的带分格的封闭坐标轴
(4)产生图11.3.3.1-2界面的uimenu的书写格式二:
方括号续行号表示法
...
'
['
gridon,'
...
'
set(gca,'
])
(5)产生图11.3.3.1-2界面的uimenu的书写格式三:
串变量法
Lpv='
Cpv=['
];
Lpv,'
Cpv)
(6)产生图11.3.3.1-2界面的uimenu的书写格式四:
构架表示法
PS.Label='
PS.Callback=['
gridon;
uimenu(PS)
11.3.3.2设置简捷键或快捷键
【*例11.3.3.2-1】本例目标:
使图11.3.2-1所示菜单成为图11.3.3.2-1那样,Color菜单项及其下拉的Blue菜单各带一个简捷键,而另一项下拉菜单Red带一个快捷键。
[exm11332_1.m]
figure
&
%带简捷键C的用户菜单Color<
...%带简捷键B的的下拉菜单Blue<
color'
...%制作另一个下拉菜单Red
Accelerator'
r'
%为Red菜单设置快捷键R<
7>
图11.3.3.2-1为用户菜单设置快捷键
11.3.3.3用户菜单的外观设计
【*例11.3.3.3-1】本例演示:
(A)把用户菜单'
Option'
设置为顶层的第3菜单项;
(B)下拉菜单被两条分隔线分为三个菜单区;
(C)最下菜单项又有两个子菜单组成。
(1)编写程序,生成如图11.3.3.3-1所示界面
[exm11333_1.m]
h_menu=uimenu('
Position'
3);
h_sub1=uimenu(h_menu,'
h_sub2=uimenu(h_menu,'
h_sub3=uimenu(h_menu,'
boxon'
separator'
%<
h_sub4=uimenu(h_menu,'
boxoff'
h_sub5=uimenu(h_menu,'
FigureColor'
Separator'
%<
8>
h_subsub1=uimenu(h_sub5,'
ForeGroundColor'
...%<
9>
h_subsub2=uimenu(h_sub5,'
Reset'
w'
图11.3.3.3-1
(2)位置属性的获取
Pos_O=get(h_menu,'
),%查询Option菜单位置值
Pos_BoxOn=get(h_sub3,'
)%查询boxob子菜单位置值
Pos_Red=get(h_subsub1,'
)%查询red子菜单的位置值
Pos_O=
3
Pos_BoxOn=
Pos_Red=
1
【*例11.3.3.3-2】本例演示:
当某菜单项选中后,如何使该菜单项贴上检录符“√”。
[exm11333_2.m]
Gridon'
...%<
set(h_sub1,'
checked'
set(h_sub2,'
]);
Gridoff'
gridoff,'
]);
图11.3.3.3-2Gridon菜单选中后出现检录符
11.3.3.4使能(Enable)与可见性(Visible)属性
【*例11.3.3.4-1】本例目标:
制作一个带四个子菜单项的顶层菜单项;
该下拉菜单分为两个功能区;
每个功能区的两个菜单项是相互对立的,因此采用使能属性处理;
当图形窗坐标轴消隐时,整个坐标分隔控制功能区不可见。
(1)编写如下脚本M文件exm11334_1.m
[exm11334_1.m]
clf
%产生顶层菜单项Option
Axison'
%产生Axison菜单项,由缺省设置而使能
Axisoff'
enable'
%产生Axisoff菜单项,但失能
%产生与上分隔的Gridon菜单项,但不可见
%产生Gridoff菜单项,但不可见
[...%选中Axison菜单项后,产生回调操作
Axison,'
...%画坐标
...%Axison菜单项失能
...%Axisoff菜单项使能
set(h_sub3,'
...%Gridon菜单项可见
set(h_sub4,'
%Gridoff菜单项可见
[...%%选中Axisoff菜单项后,产生回调操作
axisoff,'
...%使坐标消失
...%Axison菜单项使能
...%Axisoff菜单项失能
...%Gridon菜单项不可见
%Gridoff菜单项不可见
[...%选中Gridon菜单项后,产生回调
...%画坐标分格线
...%Gridon菜单项失能
%Gridoff菜单项使能
[...%选中Gridoff菜单项,产生回调
...%消除坐标分格线
...%Gridon菜单项使能
%Gridoff菜单项失能
(2)在MATLAB指令窗中运行exm11334_1,得到图11.3.3.4-1所示的界面
图11.3.3.4-1
(3)选中【Option】菜单项,界面呈现如图11.3.3.4-2所示。
图11.3.3.4-2
(4)选中【Option:
Axison】后,界面呈现如图11.3.3.4-3所示。
图11.3.3.4-3
(5)选中【Option:
Gridon】后,界面呈现如图11.3.3.4-4所示。
图11.3.3.4-4
11.3.4现场菜单的制作
【*例11.3.4-1】目标:
绘制一条Sa曲线,创建一个与之相联系的现场菜单,用以控制Sa曲线的颜色。
(1)编写脚本M文件exm1134_1.m
[exm1134_1.m]
t=(-3*pi:
pi/50:
3*pi)+eps;
y=sin(t)./t;
hline=plot(t,y);
%绘制Sa曲线
cm=uicontextmenu;
%创建现场菜单
%制作具体菜单项,定义相应的回调
uimenu(cm,'
set(hline,'
)
b'
Green'
g'
uicontextmenu'
cm)%使cm现场菜单与Sa曲线相联系
(2)在指令窗中运行文件exm1134_1.m,得到图11.3.4-1所示的(但为蓝色的)Sa曲线。
图11.3.4-1Context菜单
(3)将鼠标指针指向线条,点击鼠标右键的同时弹出现场菜单,在选中某菜单项(如Red)后,Sa曲线就改变(为红)颜色(如图11.3.4-1所示)。
11.4用户控件(uicontrol)
11.4.1控件制作函数
11.4.2用户控件的种类
11.4.3控件制作示例
11.4.3.1双位按键、无线电按键、控件区域框示例
【*例11.4.3.1-1】目标:
创建一个界面包含4种控件:
静态文本、“无线电”选择开关、双位按键、控件区域框。
[exm11431_1.m]
[0.2,0.2,0.64,0.32]);
defaultuicontrolunits'
)%设置用户缺省控件单位属性值
[0.05,0.2,0.6,0.6]);
2*pi;
y=sin(t);
plot(t,y);
set(h_axes,'
[0,2*pi]);
defaultuicontrolhorizontal'
htitle=title('
正弦曲线'
defaultuicontrolfontsize'
12);
%设置用户缺省控件字体属性值
uicontrol('
frame'
...%创建用户控件区<
11>
[0.67,0.55,0.25,0.25]);
...%创建静态文本框<
13>
正斜体图名:
[0.68,0.77,0.18,0.1],...
hr1=uicontrol(gcf,'
radio'
...%创建“无线电”选择按键<
17>
正体'
...%按键功能的文字标识'
[0.7,0.69,0.15,0.08]);
%按键位置
set(hr1,'
value'
get(hr1,'
Max'
%因图名缺省使用正体,所以小圆圈应被点黑<
20>
[...%<
21>
max'
)),'
...%选中将小圆圈点黑<
22>
set(hr2,'
get(hr2,'
min'
...%将“互斥”选项点白<
23>
set(htitle,'
fontangle'
normal'
...%使图名字体正体显示
hr2=uicontrol(gcf,'
26>
斜体'
[0.7,0.58,0.15,0.08
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB教案ch11 图形用户界面GUI制作 MATLAB 教案 ch11 图形 用户界面 GUI 制作