欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于matlab的可视化界面制作.docx

    • 资源ID:17255412       资源大小:248.33KB        全文页数:17页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于matlab的可视化界面制作.docx

    1、基于matlab的可视化界面制作MATLAB可视化设界面计(上) 一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就会用到可视化界面)。这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法用户也不需要知道命令是如何执行, 只要通过与界面交互就可以使指定行为得以正确执行。MATLAB可视化界面的设计, 一般有两种方法, 一是直接通过编辑M脚本文件产生GUI(这个方法就是我们在前面学习过的如何编写、调用M文件), 二是通过MATLAB图形用户界面开发环境GUIDE(Graphical User Interf

    2、ace Development Environment)来形成相应文件。这里只讲述在GUIDE环境中利用控件实现可视化界面功能, 不探讨直接通过编辑脚本文件实现可视化界面的方法。MATLAB软件GUIDE为用户提供了一个方便高效的集成环境, 所有GUI支持的用户控件都集成在这个环境中, 并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中, 同时自动生成包含GUI初始化和组件界面布局控制代码的M文件, 为实现回调函数提供了一个参考框架。下面以一个具体实例来说明GUIDE的开发使用以下所讲解的关于各控件的使用, 我们以MATLAB7.0版

    3、本为调试环境, 如果版本的环境和版本略有不同,但基本思想和方法一致。为了方便大家学习,此处提供二个版本(即文字和视频,文字的即为下面的叙述,视频请点击此处。)实例要完成的功能如下:首先运行M文件后,出现一个主画面当分别点击按钮“螺旋线”、“摆线”、“圆旋转成圆环”和“退出”命令按钮时,分别出现如下列图示的动态、静态的结果。螺旋线图摆线图圆动成环图退出信息图下面看具体的操作步骤:1)启动Matlab并进入GUIDE环境:在Command Window下输入“guide”,进入GUIDE环境。出现如下图所示的界面(写到这里,发现文字叙述很繁琐,但还得写,要命)。这里Matlab提供了一个新建空白界

    4、面及三个样本界面,它们分别是:GUI with Uicontrols;GUI with Axes and Menu;Modal Question Dialog;当然还有一个标签是用来打开已经编写好的GUI的。一般来说,我们会用Blank GUI,即空白的界面来写自己的东西。进入后,Matlab就新建了一个fig文件(默认名是untitled.fig),同时得到如下的编辑窗口:从上图我们可以看出Matlab 的Guide环境可以分为三个部分即菜单栏和工具栏、用户控件集、用户界面编辑窗口。菜单栏,暂时不作介绍,我们主要使用用户控件集(其它软件一般称为工具箱),用户控件集主要有命令按钮(Push B

    5、utton)、切换按钮(Toggle Button)、单选按钮(Radio Button)、复选框按钮(Checkbox)、编辑框(Edit Button)、静态文本框(Static Button)、滚动杆(Slider)、列表框(Listbox)、弹出式菜单(Pop-menu)、坐标轴(Axes)等。严格地讲, 坐标轴不能算控件的畴。用户界面编辑窗口用于对受控的图形窗口进行编辑, 比如添加按钮、静态文本框等。2)在用户界面编辑窗口添加相应控件(终于可以做具体的事了,这个就简单了,哈哈)MATLAB可视化界面设计(下)王林方 发表于 2010-4-2 11:12:00 0推荐首先,在用户界面编

    6、辑窗口添加4个命令按钮(显示是OK的用个PUSH BUTTON),再如下图所示添加5个静态文本框(Static Text)、5个编辑文本框(Edit Text)和一个坐标系(Axes)其次,按下表设置每个控件的属性值(具体操作是:右击要设置属性的控件property inspector 命令在弹出的属性窗口中找到相应的属性名称将该属性的值修改成自己需要的值)控件名属性属性修改值PushButton1FontSize16String螺旋线TagpushbuttonLxxPushButton2FontSize16String摆线TagpushbuttonNBXPushButton3FontSize

    7、16String圆旋转成圆环TagpushbuttonCtoCPushButton4FontSize16String退出TagpushbuttonExitStatic Text1String大圆半径Static Text2String小圆半径Static Text3String修正值Static Text4String圆半径Static Text5String离转轴的距离Edit Text1String空或设置成一个适定值,如10TageditBCREdit Text2String空或设置成一个适定值,如2TageditSCREdit Text3String空或设置成一个适定值,如1Taged

    8、itXZZEdit Text4String空或设置成一个适定值,如4TageditCREdit Text5String空或设置成一个适定值,如10TageditBExit注:上面控件名称的编号,比如1,2之类,在界面上是没有的,只是我按照从上到下的次序,为方便叙述而编写的。最后,添加程序(在添加程序前,最好先将文件保存一下,比如以Exp8.m为文件名保存),添加程序的常用方法是:单击菜单命令viewM-file Editor,此时,得到下面的程序:function varargout = Exp8(varargin)gui_Singleton = 1;gui_State = struct(gu

    9、i_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, Exp8_OpeningFcn, . gui_OutputFcn, Exp8_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);

    10、else gui_mainfcn(gui_State, varargin:);end%上面的是系统初始化代码,绝对不要去修改它们。function Exp8_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数。function varargout = Exp8_OutputFcn(hObject, eventdata, handles)varargout1 = handl

    11、es.output;%上面的函数返回的量直接到命令窗口。function pushbuttonLxx_Callback(hObject, eventdata, handles)%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。function pushbuttonNBX_Callback(hObject, eventdata, handles)%上面的函数是点击摆线按钮时,执行的代码,即可以在此处添加有关摆线的程序代码。% - Executes on button press in pushbuttonExit.function pushbuttonExit_C

    12、allback(hObject, eventdata, handles)%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。function editBCR_Callback(hObject, eventdata, handles)%上面的函数是 editBCR这个编辑文本按钮回调时,执行的代码。BigCircleRadial=str2double(get(hObject,String);function editBCR_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,w

    13、hite);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editBCR的属性值。function editSCR_Callback(hObject, eventdata, handles)%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。function editSCR_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set

    14、(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editSCR的属性值。 function editXZZ_Callback(hObject, eventdata, handles)%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。function editXZZ_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,Back

    15、groundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editXZZ的属性值。function pushbuttonCtoC_Callback(hObject, eventdata, handles)%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。function editCR_Callback(hObject, eventdata, handles)%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。function editCR_CreateFcn(hO

    16、bject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editCR的属性值。function editDist_Callback(hObject, eventdata, handles)function editDist_CreateFcn(hObject, eventdata, handles)if ispc set(hObject

    17、,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editDist的属性值。下面真正添加自己的程序,最后成的程序如下:自己添加的程序用红色表示。function varargout = Exp8(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningF

    18、cn, Exp8_OpeningFcn, . gui_OutputFcn, Exp8_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end%上面的是系统初始化代码,绝对不要去修改它们。

    19、function Exp8_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);%这里选择了一个图片文件,作为初始画面,具体的图片可以选择自己喜欢的。map1=imread(Water lilies.jpg);image(map1)%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数。function varargout = Exp8_OutputFcn(hObject, eventdata, handles)varargo

    20、ut1 = handles.output;%上面的函数返回的量直接到命令窗口。function pushbuttonLxx_Callback(hObject, eventdata, handles)%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。axes(handles.axes1)clav=2;alf=pi/6;omg=pi/5;t=0:0.01:100;x=v*sin(alf).*cos(omg*t).*t;y=v*sin(alf).*sin(omg*t).*t;z=v*cos(alf).*t;%plot3(x,y,z)axis(-100 100 -100

    21、 100 0 160)grid onaxis equal oncomet3(x,y,z)%上面的程序是“一质点,沿着已知圆锥面的一条直母线自圆锥的顶点起,作等速直线运动,另一方面这一条母线在圆锥面上,过圆锥的顶点绕圆锥的轴(旋转轴)作等速的转动,这时质点在圆锥面上的轨迹”的动态形成过程。function pushbuttonNBX_Callback(hObject, eventdata, handles)%上面的函数是点击摆线按钮时,执行的代码,即可以在此处添加有关摆线的程序代码。axes(handles.axes1)claa=str2double(get(handles.editBCR,St

    22、ring);b=str2double(get(handles.editSCR,String);k=str2double(get(handles.editXZZ,String);axis(-a-2 a+2 -a-2 a+2 0 a+2)line(-a-2,a+2,0,0);hold online(0,0,-a-2,a+2u=0:pi/30:2*pi;x=a*cos(u);y=a*sin(u);plot(x,y)x=b*cos(u)+a-b;y=b*sin(u);plot(x,y)axis equal ongrid ontheta=0:pi/1800:k*a*pi;x=(a-b)*cos(b/a*

    23、theta)+b*cos(a-b)/a*theta);y=(a-b)*sin(b/a*theta)-b*sin(a-b)/a*theta);comet(x,y)%上面的程序是摆线的动态的形成过程% - Executes on button press in pushbuttonExit.function pushbuttonExit_Callback(hObject, eventdata, handles)%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。ss=questdlg(你真的要退出吗?,退出信息窗口!,不,我还想看看!,是的,我要退出!,是的,我要退出!);

    24、switch ss case 是的,我要退出! delete(handles.figure1);end%上面的程序是退出程序时信息窗口function editBCR_Callback(hObject, eventdata, handles)%上面的函数是 editBCR这个编辑文本按钮回调时,执行的代码。function editBCR_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUi

    25、controlBackgroundColor);end %上面的函数用来在程序中设置editBCR的属性值。function editSCR_Callback(hObject, eventdata, handles)%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。function editSCR_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgro

    26、undColor);end %上面的函数用来在程序中设置editSCR的属性值。 function editXZZ_Callback(hObject, eventdata, handles)%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。function editXZZ_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end

    27、 %上面的函数用来在程序中设置editXZZ的属性值。function pushbuttonCtoC_Callback(hObject, eventdata, handles)%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。axes(handles.axes1)cla%a=4;%b=10;a=str2double(get(handles.editCR,String);b=str2double(get(handles.editDist,String);u=0:pi/30:2*pi;y=a.*cos(u)+b;z=a.*sin(u);n=length(u

    28、);x=0*ones(1,n);if ab axis(-b-2 b+2 -b-2 b+2 -a-2 a+2)elseaxis(-a-2 a+2 -a-2 a+2 -b-2 b+2)endplot3(x,y,z)pause(1)for t=0:pi/60:2*pi x=y.*sin(t); y1=y.*cos(t); plot3(x,y1,z) pause(0.1) grid on hold on %axis equal on %view(-20,0)end%上面的程序是圆旋转成圆环的动态的形成过程function editCR_Callback(hObject, eventdata, hand

    29、les)%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。function editCR_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editCR的属性值。function editDist_Callback(hObject, eventdata, handles)function editDist_CreateFcn(hObject, eventdata, handles)if ispc set(hObject,BackgroundColor,white);else set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end %上面的函数用来在程序中设置editDist的属性值。


    注意事项

    本文(基于matlab的可视化界面制作.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开