ImageVerifierCode 换一换
格式:PDF , 页数:8 ,大小:413.40KB ,
资源ID:4763400      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4763400.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(第08章-MATLAB图形用户界面设计-例题源程序-共8页.pdf)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第08章-MATLAB图形用户界面设计-例题源程序-共8页.pdf

1、高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Shandong University,Weihai1 第第 8 章章 MATLAB 图形用户界面设计图形用户界面设计 例例 8.1 建立图 8.1 所示的图形演示系统菜单。菜单条中含有 3 个菜单项:Plot、Option和 Quit。Plot 中有 Sine Wave 和 Cosine Wave 两个子菜单项,分别控制在本图形

2、窗口画出正弦和余弦曲线。Option 菜单项的内容如图 8.1 所示,其中 Grid on 和 Grid off 控制给坐标轴加网格线,Box on 和 Box off 控制给坐标轴加边框,而且这 4 项只有在画有曲线时才是可选的。Window Color 控制图形窗口背景颜色。Quit 控制是否退出系统。screen=get(0,ScreenSize);W=screen(3);H=screen(4);figure(Color,1,1,1,Position,0.2*H,0.2*H,0.5*W,0.3*H,.Name,图形演示系统,NumberTitle,off,MenuBar,none);%定

3、义 Plot 菜单项 hplot=uimenu(gcf,Label,&Plot);uimenu(hplot,Label,Sine Wave,Call,.t=-pi:pi/20:pi;,plot(t,sin(t);,.set(hgon,Enable,on);,.set(hgoff,Enable,on);,.set(hbon,Enable,on);,.set(hboff,Enable,on););uimenu(hplot,Label,Cosine Wave,Call,.t=-pi:pi/20:pi;,plot(t,cos(t);,.set(hgon,Enable,on);,.set(hgoff,E

4、nable,on);,.set(hbon,Enable,on);,.set(hboff,Enable,on););%定义 Option 菜单项 hoption=uimenu(gcf,Label,&Option);hgon=uimenu(hoption,Label,&Grid on,.Call,grid on,Enable,off);hgoff=uimenu(hoption,Label,&Grid off,.Call,grid off,Enable,off);hbon=uimenu(hoption,Label,&Box on,.高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源

5、程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Shandong University,Weihai2 separator,on,Call,box on,Enable,off);hboff=uimenu(hoption,Label,&Box off,.Call,box off,Enable,off);hwincor=uimenu(hoption,Label,&Window Color,Separator,on);uimenu(hwincor,L

6、abel,&Red,Accelerator,r,.Call,set(gcf,Color,r););uimenu(hwincor,Label,&Blue,Accelerator,b,.Call,set(gcf,Color,b););uimenu(hwincor,Label,&Yellow,Call,.set(gcf,Color,y););uimenu(hwincor,Label,&White,Call,.set(gcf,Color,w););%定义 Quit 菜单项 uimenu(gcf,Label,&Quit,Call,close(gcf);例例 8.2 绘制曲线 y=2e-0.5xsin(2

7、x),并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);hl=plot(x,y);hc=uicontextmenu;%建立快捷菜单 hls=uimenu(hc,Label,线型);%建立菜单项 hlw=uimenu(hc,Label,线宽);uimenu(hls,Label,虚线,Call,set(hl,LineStyle,:););uimenu(hls,Label,实线,Call,set(hl,LineStyle,-););uimenu(hlw,Label,加宽,Call,set(hl,Li

8、neWidth,2););uimenu(hlw,Label,变细,Call,set(hl,LineWidth,0.5););set(hl,UIContextMenu,hc);%将该快捷菜单和曲线对象联系起来 例例 8.3 建立如图 8.10 所示的数制转换对话框。在左边输入一个十进制整数和 216 之间的数,单击“转换”按钮能在右边得到十进制数所对应的 216 进制字符串,单击“退出”按钮退出对话框。hf=figure(Color,0,1,1,Position,100,200,400,200,.Name,数制转换,NumberTitle,off,MenuBar,none);高教社刘卫国高教社刘

9、卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Shandong University,Weihai3 uicontrol(hf,Style,Text,Units,normalized,.Position,0.05,0.8,0.45,0.1,Horizontal,center,.String,输 入 框,Back,0,1,1);uicontrol(hf,Style,Text,Units,norma

10、lized,.Position,0.5,0.8,0.45,0.1,Horizontal,center,.String,输 出 框,Back,0,1,1);uicontrol(hf,Style,Frame,Units,normalized,.Position,0.04,0.33,0.45,0.45,Back,1,1,0);uicontrol(hf,Style,Text,Units,normalized,.Position,0.05,0.6,0.25,0.1,Horizontal,center,.String,十进制数,Back,1,1,0);uicontrol(hf,Style,Text,Uni

11、ts,normalized,.Position,0.05,0.4,0.25,0.1,Horizontal,center,.String,216 进制,Back,1,1,0);he1=uicontrol(hf,Style,Edit,Units,normalized,.Position,0.25,0.6,0.2,0.1,Back,0,1,0);he2=uicontrol(hf,Style,Edit,Units,normalized,.Position,0.25,0.4,0.2,0.1,Back,0,1,0);uicontrol(hf,Style,Frame,Units,normalized,.Po

12、sition,0.52,0.33,0.45,0.45,Back,1,1,0);ht=uicontrol(hf,Style,Text,Units,normalized,.Position,0.6,0.5,0.3,0.1,Horizontal,center,.Back,0,1,0);COMM=n=str2num(get(he1,String);,.b=str2num(get(he2,String);,.dec=trdec(n,b);,set(ht,string,dec);uicontrol(hf,Style,Push,Units,normalized,.Position,0.18,0.1,0.2,

13、0.12,String,转 换,Call,COMM);uicontrol(hf,Style,Push,Units,normalized,.Position,0.65,0.1,0.2,0.12,.String,退 出,Call,close(hf);程序调用了trdec.m函数文件,该函数的作用是将任意十进制整数转换为216进制高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Sha

14、ndong University,Weihai4 字符串。trdec.m函数文件如下:function dec=trdec(n,b)ch1=0123456789ABCDEF;%十六进制的 16 个符号 k=1;while n=0%不断除某进制基数取余直到商为 0 p(k)=rem(n,b);n=fix(n/b);k=k+1;end k=k-1;strdec=;while k=1%形成某进制数的字符串 kb=p(k);strdec=strcat(strdec,ch1(kb+1:kb+1);k=k-1;end dec=strdec;例例 8.4 建立如图 8.11 所示的图形演示对话框。在编辑框输

15、入绘图命令,当单击“绘图”按钮时,能在左边坐标轴绘制所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。clf;set(gcf,Unit,normalized,Position,0.2,0.3,0.55,0.36);set(gcf,Menubar,none,Name,图形演示,NumberTitle,off);axes(Position,0.05,0.15,0.55,0.7);uicontrol(gcf,Style,text,Unit,normalized,.Posi,0.63,0.85,0.2,0.1,String,.输入绘图命令,Horizontal,center);he

16、dit=uicontrol(gcf,Style,edit,Unit,normalized,.Posi,0.63,0.15,0.2,0.68,.Max,2);%Max 取 2,使 Max-Min1,从而允许多行输入 hpopup=uicontrol(gcf,Style,popup,Unit,normalized,.Posi,0.85,0.8,0.15,0.15,String,.高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MA

17、TLAB 语言语言 WangChengyou Shandong University,Weihai5 Spring|Summer|Autumn|Winter,Call,.COMM(hedit,hpopup,hlist);hlist=uicontrol(gcf,Style,list,Unit,normalized,.Posi,0.85,0.55,0.15,0.25,String,.Grid on|Grid off|Box on|Box off,Call,.COMM(hedit,hpopup,hlist);hpush1=uicontrol(gcf,Style,push,Unit,normalize

18、d,.Posi,0.85,0.35,0.15,0.15,String,.绘 图,Call,COMM(hedit,hpopup,hlist);uicontrol(gcf,Style,push,Unit,normalized,.Posi,0.85,0.15,0.15,0.15,String,.关 闭,Call,close all);COMM.m 函数文件:function COMM(hedit,hpopup,hlist)com=get(hedit,String);n1=get(hpopup,Value);n2=get(hlist,Value);if isempty(com)%编辑框输入非空时 ev

19、al(com);%执行从编辑框输入的命令 chpop=spring,summer,autumn,winter;chlist=grid on,grid off,box on,box off;colormap(eval(chpopn1);eval(chlistn2);end 例例 8.5 利用 GUI 设计工具设计图 8.18 所示的用户界面。该界面包括一个用于显示图形的轴对象,显示的图形包括表面图、网格图或等高线图。绘制图形的功能通过 3 个命令按钮来实现,用户通过单击相应的按钮,即可绘制相应图形。绘制图形所需要的数据通过一个弹出框来选取。在弹出框中包括 3 个选项,分别对应 MATLAB 的数

20、据函数 peaks、membrane(该函数产生 MATLAB 标志)和用户自定义的绘图数据 sinc,用户可以通过选择相应的选项来载入相应的绘图数据。在图形窗口默认的菜单条上添加一个菜单项 Select,Select 下又有两个子菜单项 Yellow 和 Red,选中 Yellow 项时,图形窗口将变成黄色,选中 Red 项时,图形窗口将变成红色。高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 Wan

21、gChengyou Shandong University,Weihai6 操作步骤如下:(1)打开 GUI 设计窗口,添加有关控件对象。在 MATLAB 命令窗口输入命令 guide,将打开 GUI 设计窗口。单击 GUI 设计窗口控件工具栏中的 Axes 按钮,并在图形窗口中拖出一个矩形框,调整好大小和位置。再添加 3 个按钮、一个弹出框和一个静态文本框,并调整好大小和位置。必要时可利用位置调整工具将图形对象对齐。(2)利用属性编辑器,设置图形对象的属性。打开属性编辑器,当用户在界面设计中选择一个对象后,在属性编辑器将列出该对象的属性及默认的属性值。利用属性编辑器把 3 个按钮的 Posi

22、tion 属性的第 3 和第4 个分量设为相同的值,以使 3 个按钮宽和高都相等。3 个按钮的 String 属性分别是说明文字 Mesh、Surf 和 Contour3,FontSize 属性设为 10。双击弹出框,打开该对象的属性设置对话框。为了设置弹出框的 String 属性,单击 String 属性名后面的图标,然后在打开的文本编辑器中输入 3 个选项:peaks、membrane、sinc。注意,每行输入一个选项。将静态文本框的 String 属性设置为 Choose Data of Graphics。(3)编写代码,实现控件功能。为了实现控件的功能,需要编写相应的程序代码。如果实现

23、代码较为简单,可以直接修改控件的 Callback 属性。对于较为复杂的程序代码,最好还是编写 M 文件。右键单击任一图形对象,在弹出的快捷菜单中选择 View Callbacks,再选 Callback 子菜单,将自动打开一个 M 文件,这时可以在各控件的回调函数区输入相应的程序代码。本例需要添加的代码如下(注释部分和函数引导行是系统 M 文件中已有的):在打开的函数文件中,添加用于创建绘图数据的代码:function ex8_5_OpeningFcn(hObject,eventdata,handles,varargin)%This function has no output args,s

24、ee OutputFcn.%hObject handle to figure%eventdata reserved-to be defined in a future version of MATLAB%handles structure with handles and user data(see GUIDATA)%varargin command line arguments to ex8_5(see VARARGIN)handles.peaks=peaks(35);handles.membrane=membrane(5);%membrane 函数产生 MATLAB 标志 x,y=mesh

25、grid(-8:0.5:8);r=sqrt(x.2+y.2);高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Shandong University,Weihai7 sinc=sin(r)./(r+eps);handles.sinc=sinc;handles.current_data=handles.peaks;为弹出式菜单编写响应函数代码如下:%-Executes on se

26、lection change in popupmenu1.function popupmenu1_Callback(hObject,eventdata,handles)%hObject handle to popupmenu1(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB%handles structure with handles and user data(see GUIDATA)val=get(hObject,Value)str=get(hObject,String);switch str

27、val case peaks handles.current_data=handles.peaks;case membrane handles.current_data=handles.membrane;case sinc handles.current_data=handles.sinc;end guidata(hObject,handles)%Hints:contents=get(hObject,String)returns popupmenu1 contents as cell array%contentsget(hObject,Value)returns selected item f

28、rom popupmenu1 为 Mesh 按钮编写响应函数代码如下:%-Executes on button press in pushbutton1.function pushbutton1_Callback(hObject,eventdata,handles)%hObject handle to pushbutton1(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB%handles structure with handles and user data(see GUIDATA)mesh(h

29、andles.current_data)为 Surf 按钮编写响应函数代码如下:%-Executes on button press in pushbutton2.function pushbutton2_Callback(hObject,eventdata,handles)高教社刘卫国高教社刘卫国MATLAB 程序设计与应用(第二版)例题源程序程序设计与应用(第二版)例题源程序 第第 8 章:章:MATLAB 图形用户界面设计图形用户界面设计 王成优王成优山东大学(威海)山东大学(威海)MATLAB 语言语言 WangChengyou Shandong University,Weihai8%

30、hObject handle to pushbutton2(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB%handles structure with handles and user data(see GUIDATA)surf(handles.current_data)为 Contour3 按钮编写响应函数代码如下:%-Executes on button press in pushbutton3.function pushbutton3_Callback(hObject,eventdata,

31、handles)%hObject handle to pushbutton3(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB%handles structure with handles and user data(see GUIDATA)contour3(handles.current_data)可以看出,每个控件对象都有一个由 function 语句引导的函数,用户可以在相应的函数下添加程序代码来完成指定的任务。在运行图形用户界面文件时,如果单击其中的某个对象,则在 MATLAB 机制下自动调用该函数。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服