《《数学应用软件》试验(四)》由会员分享,可在线阅读,更多相关《《数学应用软件》试验(四)(7页珍藏版)》请在金锄头文库上搜索。
1、本文格式为Word版,下载可任意编辑数学应用软件试验(四) 数学应用软件测验指导书 2022年 7 月 测验四 句柄图形和图形用户界面制作 一、测验目的 1、 熟谙句柄图形体系的对象树布局。 2、 纯熟掌管句柄图形体系的对象属性的创造、设置、查询。 3、 纯熟掌管句柄的获取。 4、 纯熟掌管图形用户界面(GUI)的制作。 二、测验内容 1、句柄的获取 gcf 、gca、gco、findobj、图形创造指令、追溯法等方法获取图形句柄的联系。常用的图形句柄操作函数如下表 在command窗口键入以下指令: X = linspace(-pi,pi,25); Y = sin(X); plot(X,Y,
2、rX); gcf gca 查看指令窗及图形窗中的结果。 2、句柄图形体系的对象属性的创造、设置、查询 在command窗口键入以下指令: h_line = findobj(gca,Marker,X) get(h_line) h_line_parent = get(h_line,Parent); isequal(h_line_parent,gca) set(gca,Color,0,0,0) set(h_line,Color,1 1 1,MarkerSize,10); set(gca,XGrid,on,GridLineStyle,-.,XColor,0.75 0.75 0) set(gca,YGr
3、id,on,GridLineStyle,-.,YColor,0 0.75 0.75) set(gcf,Color,0 0 1) 查看指令窗及图形窗中的结果。 3、对象属性的缺省设置和查询 键入以下程序: t=(0:pi/50:2*pi); k=0.4:0.1:1;Y=cos(t)*k; line(t,Y,Color,1 0 0,LineStyle,-.) clf reset set(gca,ColorOrder,0 0 0;0.7 0.7 0.7,LineStyle,-|:) line(t,Y) clf reset set(gcf,DefaultAxesLineStyleOrder,-|:);
4、 set(gcf,DefaultAxesColorOrder,1 0 0;0 0 1); line(t,Y) 查看指令窗及图形窗中的结果。 4、界面菜单、快捷菜单、现场菜单的制作:figure、set、uimenu的使用 (1)在command窗口键入以下指令: h_fig=figure 查看图形窗中的结果。 (2)在command窗口键入以下指令: Set(h_fig,menubar,none) 查看图形窗中的结果。 (3)在command窗口键入以下指令: Set(gcf,menubar,figure) 查看图形窗中的结果。 (4)自制用户菜单 采用uimenu建立菜单项,语法如下: h_
5、menu=uimenu(Hx_parent,PropertyName,PropertyValue ,); Hx_parent为父辈对象的句柄,PropertyName为属性,PropertyValue属性值。 最重要的属性为Label和Callback,Label属性值是显示在菜单条上的文本字串,Callback是调用过程或函数执行有关功能。 键入以下程序: figure h_menu=uimenu(gcf,label,Color); h_submenu1=uimenu(h_menu,label,Blue,. callback,set(gcf,color,blue); h_submenu2=u
6、imenu(h_menu,label,Red,. callback,set(gcf,color,red),. Accelerator,r); 查看指令窗及图形窗中的结果。还可将其中的句柄变更为别的图形对象的句柄,或将其中的一些属性的属性值修改后看其效果。 (5)现场菜单的制作 键入以下程序: t=(-3*pi:pi/50:3*pi)+eps; y=sin(t)./t; hline=plot(t,y); cm=uicontextmenu; uimenu(cm,label,Red,callback,set(hline,color,r),) uimenu(cm,label,Blue,callback
7、,set(hline,color,b),) uimenu(cm,label,Green,callback,set(hline,color,g),) set(hline,uicontextmenu,cm) 查看指令窗及图形窗中的结果。还可将其中的句柄变更为别的图形对象的句柄,或将其中的一些属性的属性值修改后看其效果。 5、用户控件的制作: 按钮、复选框、单项选择框、文本编辑框、静态文本、滑标、框架等控件的制作。采用uicontrol函数实现,语法如下: Hc_1=uicontrol(Hf_fig, PropertyName,PropertyValue ,) Hf_fig是图形句柄,Propert
8、yName,PropertyValue用来定义uicontrol的属性。一个重要的PropertyName是“style”,其常用属性值如下 按钮 键入以下程序: clf reset set(gcf,menubar,none) set(gcf,unit,normalized,position,0.2,0.2,0.64,0.32); set(gcf,defaultuicontrolunits,normalized) h_axes=axes(position,0.05,0.2,0.6,0.6); t=0:pi/50:2*pi;y=sin(t);plot(t,y); set(h_axes,xlim,
9、0,2*pi); set(gcf,defaultuicontrolhorizontal,left); htitle=title(正弦曲线); set(gcf,defaultuicontrolfontsize,12); uicontrol(style,frame,. 单项选择框 check text 复选框 静态文本edit 文本编辑框 slider 滑标 frame 框架 position,0.67,0.55,0.25,0.25); uicontrol(style,text,. string,正斜体图名:,. position,0.68,0.77,0.18,0.1,. horizontal,l
10、eft); hr1=uicontrol(gcf,style,radio,. string,正体,position,0.7,0.69,0.15,0.08); set(hr1,value,get(hr1,Max); set(hr1,callback,. set(hr1,value,get(hr1,Max),. set(hr2,value,get(hr2,Min),. set(htitle,fontangle,normal),); hr2=uicontrol(gcf,style,radio,. string,斜体,position,0.7,0.58,0.15,0.08,. callback,. se
11、t(hr1,value,get(hr1,Min),. set(hr2,value,get(hr2,Max),. set(htitle,fontangle,italic),); ht=uicontrol(gcf,style,toggle,. string,Grid,. position,0.67,0.40,0.15,0.12,. callback,grid); 查看指令窗及图形窗中的结果。 6、设计 (1)利用低层绘图指令绘制一条正弦曲线。要求采用实线、线色取0.2 0.8 0.8、线粗3磅;还要求写出所画正弦曲线所在轴的句柄。制作一现场菜单;包括三个子菜单line style(当用户选择该菜单项时,产生将线改为虚线的操作);line color(当用户选择该菜单项时,产生将线色改为紫色的操作);line width(当用户选择该菜单项时,产生将线粗细改为12磅的操作)。 (2)对于传递函数为G=1/(s2+2 s+1),制作一个能绘制该系统单位的阶跃响应。要求界面包括:供输入 值的可编辑文本框;用来变更线色的单功能按键;用来变更线的类型的弹出框。 三、测验要求 1、会获取和显示图形对象的句柄。 2、会设置菜单和子菜单。 3、会设置用户控件。 7