GUI控制系统典型环节的演示复习过程.docx
《GUI控制系统典型环节的演示复习过程.docx》由会员分享,可在线阅读,更多相关《GUI控制系统典型环节的演示复习过程.docx(12页珍藏版)》请在冰豆网上搜索。
![GUI控制系统典型环节的演示复习过程.docx](https://file1.bdocx.com/fileroot1/2022-11/16/310ff0ed-0d6c-40d9-a66d-b7a1e75be8ca/310ff0ed-0d6c-40d9-a66d-b7a1e75be8ca1.gif)
GUI控制系统典型环节的演示复习过程
GUI控制系统典型环节的演示
控制系统典型环节的演示程序
1.GUI的启动
在工具栏选
打开,或者在命令窗口提示符下输入guide打开。
打开GUIDE后,即呈现如图1.1所示的启动界面。
图1.1GUI启动界面
2.GUI界面的创建
如图1.1所示,选择默认界面,即BlankGUI(default),确认后即弹出如图1.2所示的初始界面。
图1.2现实控件名称的设置界面
3.控制系统典型环节的演示程序的设计
1)程序功能描述
进行控制系统典型环节的演示,包括典型环节运行效果的演示与代码的展示。
也可以在代码区输入绘制曲线语句并通过单击定制按钮绘制曲线。
2)程序界面设计
根据程序功能要求,添加不同控件,并设置控件各自的属性。
1)添加Axes控件,用来显示演示图形,双击调出属性编辑器进行各种属性设置,Tag属性设为“myAxes”。
如图1.3所示。
图1.3Axes控件属性设置
2)添加Panel控件用来盛放其他控件,如图1.4所示。
这里我们盛放EditText控件。
Tag属性设为“uipanel”,Title属性设为空
。
图1.4添加Panel控件
3)添加EditText控件盛放于Panel控件中,此处作为代码区,如图1.5所示。
Tag属性设为“strCode”,String属性设为空,可以看到该控件中心“EditText”字样消失,及背静颜色等的设置。
图1.5EditText控件的添加
4)添加StaticButton控件作为标识。
Tag属性设为“textDemo”,String属性设为“典型环节演示”。
5)添加ListBox控件来从中选择4个不同的典型环节选项。
Tag属性设为“lstBox”,String属性设为:
6)添加两个PushButton控件。
一个用于定制曲线的绘制,用户在代码区输入绘制曲线语句后,单击此按钮进行曲线的绘制。
Tag的属性设为“btnDraw”,String属性设为“定制曲线”,TooltipString属性设为“在代码区中输入曲线参数,绘制任意曲线”。
另一个用于关闭运行窗口,Tag的属性设为“btnClose”,String属性设为“关闭”,TooltipString属性设为“关闭窗口”。
至此,界面所需控件已设置完毕,如图1.6所示。
图1.6程序界面设计草图
如果控件排列的不够整齐,可进行控件的排列。
在工具栏选
或选Tools|AlignObjects弹出窗口如图1.7所示。
如对窗口右侧4个控件按钮竖排整齐,如图1.7所示。
图1.7界面控件布局设置
如果需要还可以添加类似于Windows窗口菜单栏选项。
在编辑窗口工具栏选
或选Tools|MenuEditor,弹出编辑窗口如图1.8所示。
图1.8菜单设计的编辑窗口
3)程序代码设计
根据功能需求,给按钮添加动作按钮,即给它编写一个回调函数。
(1)定制曲线按钮的回调函数
选定“定制曲线”按钮后,右击鼠标,选择ViewCallbacks|Callback保存生成文件后自动打开helloworld.m文件,并指向该回调函数如图1.9所示,根据需要为其在指向处添加语句如下。
添加效果如图1.10所示。
try
str=char(get(handles.strCode,'String'));
str0=[];
forii=1:
size(str,1)
str0=[str0,deblank(str(ii,:
))];
end
eval(str0);
axes(handles.myAxes);
plot(x,y);
catch
errordlg('请重新检查输入数据!
');
end
图1.9定制曲线回调函数位置
图1.10定制曲线的回调函数
(2)典型环节列表框的回调函数
按上操作添加语句如下。
添加后如图1.11所示。
v=get(handles.lstBox,'value');
switchv
case1,
str1='nump=3;denp=1;';
str2='t=0:
0.1:
10;';
str3='[y,t,x]=step(nump,denp,t);';
set(handles.strCode,'String',char(str1,str2,str3));
set(handles.uipanel,'Title','比例环节');
case2,
str1='nump=1;deng=[0.21];';
str2='t=0:
0.1:
10;';
str3='[y,t,x]=step(nump,deng,t);';
set(handles.strCode,'String',char(str1,str2,str3));
set(handles.uipanel,'Title','惯性环节');
case3,
str1='K=2;T=0.1;N=5;numpd=[K*TK];denpd=[T/N1];';
str2='t=0:
0.1:
10;';
str3='[y,t,x]=step(numpd,denpd,t);';
set(handles.strCode,'String',char(str1,str2,str3));
set(handles.uipanel,'Title','比例微分环节');
case4,
str1='K=4;T=0.2;N=5;numpi=[K*TK];denpd=[T0];';
str2='t=0:
0.1:
10;';
str3='[y,t,x]=step(numpi,denpi,t);';
set(handles.strCode,'String',char(str1,str2,str3));
set(handles.uipanel,'Title','比例积分环节');
end
btnDraw_Callback(hObject,eventdata,handles)
(3)关闭窗口的回调函数
添加如下语句,添加后如图1.12所示。
close(gcf);
4.程序测试运行
运行程序后,出现如图1.13所示界面。
输入绘制曲线如下代码,
x=0:
0.1:
4*pi;
y=cos(x);
单击“定制曲线”按钮后,出现如图1.14所示的运行结果。
5.各典型环节演示运行
点击工具栏按钮
,弹出如图1.1所示GUI启动界面,选择OpenExitingGUI打开已经编辑建立好的窗口如图1.15所示,打开窗口编辑界面,选择编辑栏Tools|Run选项或点击
按钮弹出运行界面后选择各典型环节,运行结果分别如图1.16~1.19所示。
图1.11典型环节列表框的会点函数
图1.12关闭窗口的回调函数
图1.3程序界面
图1.14定制曲线运行结果
图1.15打开已经设计好的演示窗口
图1.16比例环节演示结果
图1.17惯性环节演示结果
图1.18比例微分环节演示结果
图1.19比例积分环节演示结果