1、10 5 设计区的坐标参照和位置编排器(1)版面设计区的坐标参照系图9.2-4 “格尺”对话框(默认状态)图9.2-5 设计辅助工具和功能(2)组件位置编排器图9.2-6 编排器对三个组件进行对中处理10 6 控件组件属性值的初始设置(1)控件或组件属性值初始设置的必要性(2)在GUIDE中设置控件或组件属性值的方式(3)对象属性观察器的引出(4)属性观察器简介(图9.2-7)图9.2-7 属性观察器示例10 7 创建界面的文件保存和再命名(1)对应GUIDE创建界面的两个伴生文件(2)GUIDE所创建界面的保存操作图9.2-8 激活保存操作提示对话框(3)GUIDE自动生成文件的再命名.2.
2、2 控件的运作机理及创建 用于构建用户界面的组件(Components)中,有一类可专称为控件(Controls)。其原因在于:它们都是借助uicontrol用户界面控件指令(User Interface Controls)制作而成的。它们的特征都是由Style等属性被赋予不同“值”后形成的。这些控件的模板被排列在GUIDE左侧的模板区内,参见图9.2-5。 为帮助读者更好地掌握和运用控件,本节将分三小节展开。第一小节,通过对各控件关键属性、操作方法、触发回调、回调子函数程式和控件外形变化的关联性阐述,深入浅出地剖析控件的运作机理和使用要领。第二小节,介绍常需读者动手设置的若干通用属性。第三小
3、节,提供典型算例,供读者体验和参考。10 1 各控件的运作机理10 2 常需设置的控件通用属性.2.3 GUI界面的创建示例10 1 二阶系统阶跃响应演示界面【例9.2-1】为归一化二阶系统单位阶跃响应制作制作如图9.2-9所示的用户界面。要求:(1)通过编辑框和滑键都能输入阻尼比。(2)刚启动的界面初始形态如图9.2-9所示。(3)在刚启动的初始界面上,响应曲线用红线绘制;而一旦界面被操作,则响应曲线将用蓝线绘制。(4)在列表框中的三个选项可以任意组合。图9.2-9 用户界面的初始状态(1)GUIDE的开启图9.2-10 设计本例用户界面的GUIDE(2)对未来界面窗属性设置图9.2-11
4、窗属性编辑器(3)辅助设计功能的引入(4)根据题目要求进行界面构建图9.2-12 执行文件尚未填写时的生成界面(5)由GUIDE自动产生的exm090201.m文件结构(6)编写界面开启程序function exm090201_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of M
5、ATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to exm090201 (see VARARGIN)%U_Start -U Start zeta=0.3; set(handles.edit1,String,num2str(zeta) set(handles.slider1,Value,zeta) set(handles.gridon,0) set(handles.gridoff,1) set(handles.listbox1,handles.t
6、=0:0.05:15; %handles.Color=Red;15handles.zeta=zeta; %handles.flag=0; handles=surfplot(handles); %handles.flag=1;19Blue20%U_End -U Endhandles.output = hObject;21guidata(hObject, handles);(7)可编辑框的回调子函数function edit1_Callback(hObject, eventdata, handles)% hObject % handles %U_Start-U_Startsz=get(hObjec
7、t,);6zeta=str2double(sz); %,zeta) 911%U_End-U_End(8)滑键回调子函数function slider1_Callback(hObject, eventdata, handles)zeta=get(hObject,3,num2str(zeta) %5(9)无线电按键回调子函数function gridon_Callback(hObject, eventdata, handles),0) grid on function gridoff_Callback(hObject, eventdata, handles)%U_Start-U_Startgrid
8、 off (10)列表框回调子函数function listbox1_Callback(hObject, eventdata, handles)listindex=get(hObject,if any(listindex=1) set(handles.listbox1,1)end10(11)绘图子函数function handles=surfplot(handles)% handles=surfplot(handles) % handles zeta=handles.zeta; t=handles.t;listindex=get(handles.listbox1,Nt=length(t);if
9、 handles.flag=0 cla zmin=get(handles.slider1,Min zmax=get(handles.slider1,Maxzt=zmin:zmax; Nz=length(zt); ZT,T=meshgrid(zt,t); Y=zeros(Nt,Nz); for k=1:Nz Y(:,k)=step(tf(1,1,2*zt(k),1),t); end surface(ZT,T,Y) shading flatelse delete(handles.g1) delete(handles.rline) xz=ones(1,Nt)*zeta;y1=ones(1,Nt)*1
10、;y=step(tf(1,1,2*zeta,1),t);gz=zeta,zeta,xz,zeta,zeta,xz;gt=t(1),t(1),t,t(end),t(end),fliplr(t);gy=0,1,y1,1,0,0*y1;handles.g1=line(gz,gt,gy,Color,gLineWidth,1); % handles.rline=line(xz,t,y,handles.Color,2);K=length(get(handles.listbox1,);for jj=1:K switch listindex(jj) % case 1 case 2 k95=min(find(y
11、0.95);k952=(k95-1),k95; t95=interp1(y(k952),t(k952),0.95); line(zeta,t95,0.95,marker+markeredgecolorkmarkersize,6); case 3 ym,km=max(y); if km line(zeta,t(km),ym,.,5); case 4 ii=max(find(abs(y-1)0.05); if iiNt line(zeta,t(ii+1),y(ii+1),rMarkeroMarkerSize,5)xlabel(zeta)ylabel(tzlabel(yalpha(0.7) view
12、(75,44)(12)用户界面的运行图9.2-13 显示列表框全部选项的界面示例10 2 多指令输入的演示界面【例9.2-2】制作一个用户界面,该界面启动后的初始状态如图9.2-14所示。界面上的图形,由可编辑框中输入的指令生成。本例目的:演示可编辑框的“多行字符输入”使用法;演示弹出框的“选项行字符”使用法;演示检录框、切换键、按键的使用方法。图9.2-14 题目要求的用户界面初始态(1)在GUIDE中进行界面配置图9.2-15 在GUIDE上进行界面设计(2)界面执行文件的完整化function exm090202_OpeningFcn(hObject, eventdata, handle
13、s, varargin)%U_Start-U_Startcla CH=get(handles.edit1,Nch=size(CH,1);for n=1:Ncheval(CHn); % % end % ic=get(handles.popupmenu1, % clm=get(handles.popupmenu1,colormap(clmic) % set(handles.togglebutton1,1) Axis off) %U_End-U_EndCH=get(hObject, % eval(CHn);function popupmenu1_Callback(hObject, eventdata
14、, handles)ic=get(hObject,clm=get(hObject,colormap(clmic) % function checkbox1_Callback(hObject, eventdata, handles)if get(hObject,) grid on grid offfunction checkbox2_Callback(hObject, eventdata, handles) box on box offfunction togglebutton1_Callback(hObject, eventdata, handles)VTB=get(hObject,if VT
15、B % axis off set(hObject,Axis on set(handles.checkbox1,Enableoff set(handles.checkbox2,else % axis on on 按键回调子函数function pushbutton1_Callback(hObject, eventdata, handles)close(handles.figure1) (3)完成界面的创建.2.4 界面菜单和工具图标的创建10 1 标准菜单条和工具条的配置【例9.2-3】在例9.2-1产生的界面上,配置MATLAB标准图形窗菜单,并对曲面上的特征点轨迹给以注释,如图9.2-16。本例演示:如何利用已有界面制作新界面;通过对界面窗“MenuBar”和“ToolBar”属性的设置,产生标准菜单条和工具条;“静态文本框”内容的动态变化。图9.2-16 带标准菜单和文字注释的图形用户界面(1)利用已有界面制作新界面(2)利用属性编辑器为界面配置标准菜单条和工具条(3)按本题要求修改原界面(4)修改exm090203.m文件value表9.2-13 surfplot子函数修改前后的对照原surfplot子函数的最后五条指令alpha(0.7)view(75,
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2