精华内容
下载资源
问答
  • MATLAB的GUI

    2018-04-21 07:39:54
    转载自:www.cnblogs.com/nktblog/archive/2012/05/04/2482875.html去年做了一些关于Matlab GUI的程序,现在又要做相关东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,...

    转载自:www.cnblogs.com/nktblog/archive/2012/05/04/2482875.html

    去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。



       从简单的例子说起吧。


       创建Matlab GUI界面通常有两种方式:


       1,使用 .m 文件直接动态添加控件 
     
       2.  使用 GUIDE 快速的生成GUI界面


    显然第二种可视化编辑方法算更适合写大型程序。


    一:创建GUI


    1.在 .m文件中动态添加


    例如 


    h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…


       'numbertitle','off','position',[100 100 300 100]);


    h_edit=uicontrol('style','edit','backgroundcolor',[1 1 1],'position',[20 20 50 20],...


       'tag','myedit','string','1','horizontalalignment','left');


    h_but1=uicontrol('style','pushbutton','position',[20 50 50 20],'string','INC',...


       'callback',['v=eval(get(h_edit,''string''));',...


          'set(h_edit,''string'',int2str(v+1));']);


    h_but2=uicontrol('style','pushbutton','position',[80 50 50 20],'string','DEC',...


       'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);






    2.使用GUIDE帮助创建GUI


    在Command 里面输入 GUIDE 或者从菜单里面,或者从快捷按钮均可 进入 GUIDE








    新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:


    Layout Editor:布局编辑器;
    Alignment Tool:对齐工具;
    Property Inspector:对象属性观察器;
    Object Browser:对象浏览器;
    Menu Editor:菜单编辑器。


    二:使用控件


    新建一个布局(窗口),可以在新窗口中添加如下控件


    1.静态文本(Static Text)        2.编辑框(Edit Text)控件
    3.列表框(Listbox)控件            4.滚动条(Slider)控件
    5.按钮(Push Button)控件        6.开关按钮(Toggle Button)控件
    7.单选按钮(Radio Button)控件        8.按钮组(Button Group)控件
    9.检查框(Check Box)控件        10.列表框(Listbox)控件
    11.弹出式菜单(Popup Menu)控件    12.坐标轴(Axes)控件
    13.面板(Panel)控件




    每一个控件都有自己的属性常规属性有:


            一、控件风格和外观
            (1)BackgroundColor:设置控件背景颜色,使用[R G B]或颜色定义。
            (2)CData:在控件上显示的真彩色图像,使用矩阵表示。
            (3)ForegroundColor:文本颜色。
            (4)String属性:控件上的文本,以及列表框和弹出菜单的选项。
            (5)Visible:控件是否可见。


            二、对象的常规信息
            (1)Enable属性: 表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。
            (2)Style:控件对象类型。
            (3)Tag:控件表示(用户定义)。
            (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。
            (5)UserData:用户指定数据。
            (6)Position:控件对象的尺寸和位置。
            (7)Units:设置控件的位置及大小的单位
            (8)有关字体的属性,如 FontAngle, FontName等。


            三、控件回调函数的执行
            (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。
            (2)ButtonDownFcn属性:按钮按下时的处理函数。
            (3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。
            (4)CreateFcn:在对象产生过程中执行的回调函数。
            (5)DeleteFcn:删除对象过程中执行的回调函数。
            (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。


            四、控件当前状态信息
            (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。
            (2)Max:最大值。
            (3)Min:最小值。
            (4)Value:控件的当前值。




    你可以使用属性编辑器来设置属性










    三:写回调函数 CallBack 


    每个控件都有几种回调函数,右键选中的控件一般会有如下菜单:






    然后就可以跳转到相应的 Editor中编辑代码,GUIDE会自动生成 相应的函数体,函数名,名称一般是 控件 Tag+ Call类型名 参数有三个 ( hObject, eventdata, handles)


    其中 hObject 为发生事件的源控件,eventdata为事件数据结构,handles为传入的对象句柄


    CreateFcn 是在控件对象创建的时候发生(一般为初始化样式,颜色,初始值等)
    DeleteFcn 实在空间对象被清除的时候发生
    ButtonDownFcn和KeyPressFcn分别为鼠标点击和按键事件Callback


    CallBack为一般回调函数,因不同的控件而已异。例如按钮被按下时发生,下拉框改变值时发生,sliderbar 拖动时发生等等。




    四:句柄图形之间的层次关系






    可以创建 图形句柄的常见函数


    1.figure函数:创建一个新的图形对象。
    2.newplot函数:做好开始画新图形对象的准备。
    3.axes函数:创建坐标轴图形对象。
    4.line函数:画线。
    5.patch函数:填充多边形。
    6.surface函数:绘制三维曲面。
    7.image函数:显示图片对象。
    8.uicontrol函数:生成用户控制图形对象。 
    9.uimenu函数:生成图形窗口的菜单中层次菜单与下一级子菜单。


    几个实用的小函数:


    uigetfile  选择文件对话框
    uiputfile  保存文件对话框
    uisetcolor  设置颜色对话框
    fontsetcolor  设置字体对话框
    msgbox    消息框 
    warndlg    警告框
    helpdlg     消息框


    不过如果要让父窗口不可用,你需要使用uiwait来定焦于用户对话框。
    例如:


        h=helpdlg('Please press me!','Attention');
        uiwait(h);




    四:获取与设置对象属性




     常用函数:


    gcf函数:获得当前图形窗口的句柄
    gca函数:获得当前坐标轴的句柄
    gco函数:获得当前对象的句柄
    gcbo函数:获得当前正在执行调用的对象的句柄
    gcbf函数:获取包括正在执行调用的对象的图形句柄
    delete函数:删除句柄所对应的图形对象
    findobj函数:查找具有某种属性的图形对象




    设置方法:


    (1)get函数返回某些对象属性的当前值。例如:


    p=get(obj,'Position');     


    (2)函数set改变句柄图形对象属性,例如:
    set(obj,'Position',vect);




    五:函数调用




    在一个m文件中,可以定义多个函数,但是文件名一定要与第一个函数(主函数)一致,
    该文件中其他函数则为本文件的私有函数,外部不可访问(可以通过参数调用的方法访问,下面会描述)。


    例如在一个程序中,创建一个fig后,会生成这样一个m文件:


    function varargout =febirdfun(varargin)
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @febirdfun_OpeningFcn, ...
                       'gui_OutputFcn',  @febirdfun_OutputFcn, ...
                       'gui_LayoutFcn',  [], ...
                       'gui_Callback',   []);


    if nargin && ischar(varargin{1})
       gui_State.gui_Callback = str2func(varargin{1});
    end


    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end


    解析 一下这个主函数:首先 gui_State是一个结构,指定了figure打开和输出函数,


    开始 gui_CallBack为空,如果输入参数个数不为0,接下来将输入第一个参数传递给gui_State.callback。


    接下来用交给 gui_mainfcn函数处理,gui_mainfcn 根据gui_State和传入参数
    来确定是执子函数,还是打开 fig 文件和运行 OpeningFcn和OutputFcn。


    如过 gui_Callback为空,那么就运行打开主窗口fig文件,否则,调用子函数


    这个函数的作用有:
    1.当输入不带参数的时候,能够打开fig文件,并且初始化控件
    2.当指定需要调用的函数名时,可以作为其他控件callback使用 (实则调用同文件中的子函数)
       例如,在某一个控件的 callback 里面这样写:(febrdfun为主函数)
        febirdfun("@push_button_Callback",gcbf,[])
      这样的调用就可以调用文件里面的子函数。


    当然也可以使用其他文件里面的函数作为callback,不过那样的话,数据传递会麻烦一些。




    下面看figure Openning Function




    %================================


    function Main_OpeningFcn(hObject, eventdata, handles, varargin)


    handles.output = hObject;
    % 通常在这里面定义自己的数据结构例如


    s=struct("P1",v1...
                 "P2",v2);
    handles.MyStruct=s; 
    % 更新handles数据结构  非常重要!!
    guidata(hObject, handles);


    %================================
    function varargout = Main_OutputFcn(hObject, eventdata, handles)
    varargout{1} = handles.output;


    这个函数是输出返回值的定义


    注意:  matlab 中,function 对应的 end 可以没有,但是随着版本的更新,end将会被要求。




    六:数据传递






    在matlab GUI程序中进行值传递我经常使用的两种方法:






    1.利用主函数 的 handles 数据结构传值






    例如在某一个图像窗口句柄 中有一个对象 handles(可以定义自己的数据结构)


    那么在一个子Callback函数中,可以通过handles传递数据:


    function  sliderbar1_Callback(hObject,eventdata,handles)


      %%  eg1


      v1=get(hObject,'value');


      obj=handles.Text1  %直接定位 Tag 为 Text1的控件 


      set(obj,'value',v1);


      %%  eg2


      handles.MyStruct.P1=v1; % 更改handles中的数据


      guidata(hObject,handles); %更新 handles !!重要




    end








    2.利用控件的 UserData 来传值




      
    每一个控件一般都有一个属于自己的自定义域,userData,你可以定义这样一个域用来保存自己的数据,例如在定义 timer 的 TimerFcn中


    t1=timer('TimerFcn',{@Timer1Fcn},'ErrorFcn',@Timer1ErrorFcn},'Period',1.0,'ExecutionMode','fixedrate');


    t1.Userfata=handles.MyStruct;


    这里 Timer1Fcn的调用看似没有传入任何参数,实际上此函数的定义一定要有至少两个参数


    function Timer1Fcn(obj,eventata)


       obj.UserData=XXXXX;%可以这样共享数据
      
    end


    当然Timer定义的时候允许这样传递一个参数,当然这样也可以进行传值.


    t1=timer('TimerFcn',{@Timer1Fcn,handles},'ErrorFcn',{@Timer1ErroFcnr,handles},'Period',1.0,'ExecutionMode','fixedrate');
    展开全文
  • Matlab的GUI制作的扫雷游戏-拿Matlab的GUI来扫个雷.rar 游戏可选择低级 中级 高级
  • MATLAB的gui设计

    2018-12-12 10:30:37
    MATLAB的gui视频教学,包含例子,适用于初学者,简单易懂。
  • matlab的GUI编程画出衰减的正弦信号 matlab的GUI编程画出衰减的正弦信号 matlab的GUI编程画出衰减的正弦信号 matlab的GUI编程画出衰减的正弦信号
  • 基于MATLAB的gui计算器

    2018-07-11 14:12:04
    基于MATLAB的gui制作的计算器,可以用于MATLAB课程中的小制作
  • matlabGUI设计在时域分析中的应用-MATLAB的GUI设计在时域分析中的应用.rar matlabGUI设计在时域分析中的应用
  • 精通Matlab的gui

    2015-05-04 13:15:45
    基于Matlab的GUI设计,他详细的介绍了相关知识,并有相关的代码程序。
  • 今天我们来学习如何用MATLAB的GUI界面进行一些简单的操作,因为GUI界面可以很简单的制作界面,按钮系列,直接拖拽即可,而不需要用代码对界面进行编写,只需要对里面的具体功能进行编码,我们今天就运用GUI界面做一...

    今天我们来学习如何用MATLAB的GUI界面进行一些简单的操作,因为GUI界面可以很简单的制作界面,按钮系列,直接拖拽即可,而不需要用代码对界面进行编写,只需要对里面的具体功能进行编码,我们今天就运用GUI界面做一个简单的平方运算。

    首先我们打开MATLAB,在命令行输入guide,打开GUI界面选择第一个 BLANK GUIDE

    2d9790d76b2b1f474a80d078cf681d66.png

    点击确定,进入GUI界面。

    4f905d32cb4bd0c5054c8622b0276bf4.png

    之后我们选择第三排第一个可编辑文本,创建两个空白框,再选择第一排第一个的按钮,创建一个按钮,如下图所示。

    6b391e6c6c6e7fd636e8d6705f91278d.png

    之后我们首先要进行基础的设置,我们鼠标左键,双击创建的可编辑文本,将里面的string改为空白,之后要记住下面的Tag,这个我们在接下来的编程要用。

    5f442602299bd96086146355ad8222fe.png

    如图所示,左边的可编辑文本Tag为edit1,右边的可编辑文本为edit2.之后我们要设置按钮里面的具体编码操作,右键按钮,选择查看回调中的callbak

    1d65b1d4bbda4d7bbb21821324d301e8.png

    之后我们就进入编码阶段,这里跟大家说明一下,我们目前用到的handles里面输入的都是String字符串类型,如果我们想输入数字,需要利用字符串转换为数值,这里我们用的是str2num,可以将字符串转换为数值输入,同样在计算后,我们输入的为数值,这时候我们要将数值转换为字符串输出,如果不这样,大家可以自己操作一下,结果会变为凌乱的数字,我们使用num2str来将数值转换为字符串输出,具体程序清单如下:

    str1 = get(handles.edit1,'String');

    a = str2num(str1);

    b=a^2;

    str2 = num2str(b);

    set(handles.edit2,'String',str2)

    04e96fb5b81083f0d175021f482638c8.png

    这里面的edit1,edit2就是我们刚才的可编辑文本的代号,来确定哪个框用来输入,哪个框表示输出。之后我们点击上面的运行,进行一下实际操作。我们在左边的edit1框中输入4,之后点击按钮,观察右边的edit2中的输出。

    5452288d8f8ab2efb2d47d5fb5d7ff10.png

    我们输入4,结果输出16,正确运行。

    接下来的文章我们会介绍利用GUI界面如何进行一些数据库的操作,希望我们大家可以一起学习,共同进步。

    展开全文
  • MATLAB的GUI 程序设计

    千次阅读 2020-09-29 15:45:30
    第七章 MATLAB的GUI 程序设计 Chapter 8: Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形...

    第七章 MATLABGUI 程序设计

    Chapter 8: Design of MATLAB of GUI program

     

    GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。目前90%以上的应用程序和软件都是在GUI下运行的。

    MATLAB有两种GUI用户界面控件的创建方式,基于命令行的方式用程序来制作和基于GUI的方式制作。这里主要介绍基于GUI的方式。

    MATLAB GUI的基本图形对象分为控件对象用户界面菜单对象(包括固定菜单和现场菜单),简称控件菜单

    • 控件对象及属性(Object and its attributes of controller))

    1. GUI控件对象类型(The mode of controller object)

    控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback.

    常用的基本控件:

        1. 按钮(Push Buttons)执行某种预定的单功能或操作;
        2. 开关按钮(Toggle Button)产生一个动作并指示一个二进制状态(开或关),当鼠标点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容;
        3. 单选框(Radio Button)单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;
        4. 复选框(Check Boxes)单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项;
        5. 文本编辑器(Editable Texts)用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;
        6. 静态文本框(Static Texts)仅仅用于显示单行的说明文字;
        7. 滚动条(Slider) 可输入指定范围的数量值;
        8. 边框(Frames)在图形窗口圈出一块区域;
        9. 列表框(List Boxes)在其中定义一系列可供选择的字符串;

       10弹出式菜单(Popup Menus) 让用户从一列菜单项中选择      一项作为参数输入;

       11坐标轴(Axes) 用于显示图形和图象

     

    1. 控件对象的描述(Description of controller object)

      MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。

       每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。

    控制对象的属性包括公共属性、基本控制属性、修饰控制属性、辅助属性和callback管理属性。

    3. 控件对象的属性(Attributes of controller object)

        用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。

     两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。

    A, 控件对象的公共属性

    Children 取值为空矩阵,因为控件对象没有自己的子对象

    Parent取值为某个图形窗口对象的句柄,该句柄表明了控件对象所在的图形窗口

    Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象

    Type 取值为uicontrol,表明图形对象的类型

     

    UserDate取值为空矩阵,用于保存与该控件对象相关的重要数据和信息

    Visible取值为no off

    B,控件对象的基本控制属性

    BackgroundColor取值为颜色的预定义字符或RGB数值

    Callback取值为字符串,可以是某个M文件名或一小段MATLAB语句,当用户激活某个控件对象时,应用程序就运行该属性定义的子程序。

    Enable取值为on(缺省值),inactiveoff

    Extend取值为四元素矢量[00width, height],记录控件对象标题字符的位置和尺寸

    ForegroundColor取值为颜色的预定义字符或RGB数值

    Max,Min取值都为数值

    String取值为字符串矩阵或数组,定义控件对象标题或选项内容

    Style取值可以是pushbutton, radiobutton, checkbox, edit, text, slider, frame, popupmenu listbox

    Units取值可以是pixels, normalized, inches, centimeterspoints

    Value取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象的类型

    C,控件对象的修饰控制属性

    FontAngle取值为normal, italic, oblique,

    FontName取值为控件标题等字体的字库名

    FontSize取值为数值,定义字号

    FontWeight取值为normal, light, demibold

    HorizontalAligment取值为left,right,定义对齐方式

    D, 控件对象的辅助属性

    ListboxTop取值为数量值

    SliderStop取值为两元素矢量[minstep,maxstep],用于slider控件

    Selected取值为on off

    SlectionHoghlight取值为on off

    E, Callback管理属性

    BusyAction取值为cancelqueue

    ButtonDownFun取值为字符串,一般为某个M文件名或一小段MATLAB程序

    CreateFun 取值为字符串,一般为某个M文件名或一小段MATLAB程序

    DeletFun取值为字符串,一般为某个M文件名或一小段MATLAB程序

    HandleVisibility取值为on, callbackoff

    Interruptible取值为on off

     

     

    二.GUI开发环境(GUI Development Environment, GUIDE)

    MATLAB提供了一套可视化的创建图形窗口的工具,使用这个用户界面开发环境可方便的创建GUI应用程序, 它可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编制自己的应用程序。

    MATLAB可视化的创建图形用户接口(GUI工具包括:

    *布局编辑器(Layout Edtor)-------在图形窗口中加入及安排对象。

    *几何排列工具(Alignment Tool)-----调整各对象相互之间的几何关系和位置

    *属性编辑器(Property Inspector)-----查询并设置属性值

    *对象浏览器(Object Browser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。

    *菜单编辑器(Menu Editor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单

    MATLAB中, GUI的设计是以 M文件的编程形式实现的,GUI的布局代码存储在M文件和MAT文件中,而在MATLAB6中有了很大的改变,MATLAB6GUI的布局代码存储在 FIG文件中,同时还产生一个M文件用于存储调用函数,在M文件中不再包含GUI的布局代码,在开发应用程序时代码量大大减少。

    1、布局编辑器(Layout editor)的使用 在命令窗口输入GUIDE命令或点击工具栏中的guide图标都可以打开空白的布局编辑器,在命令窗口输入GUIDE filename 可打开一个已存在的名为filename图形用户界面。

    布局编辑器可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问。使用用户界面开发环境的一般步骤为:

    1布局编辑器参数设置

        File菜单下的Preferences菜单项打开参数设置窗口,点击树状目录中的GUIDE既可以设置布局编辑器的参数。

    2布局编辑器的弹出菜单

        在任一控件上按下鼠标右键,会弹出一个菜单,通过该菜单可以完成布局编辑器的大部分操作。

    3)将控件对象放置到布局区

        1. 用鼠标选择并放置控件到布局区内;
        2. 移动控件到适当的位置;
        3. 改变控件的大小;
        4. 选中多个对象的方法;

      4激活图形窗口

         Tools菜单中的Activate FigureRun项或点击工具条上的ActivareFigureRun按钮, 在激活图形窗口的同时将存储M 文件和FIG文件,如所建立的布局还没有进行存储,用户界面开发环境将打开一个Save As对话框,按输入的文件的名字,存储一对同名的M文件和带有.fig扩展名的FIG文件。

     5运行GUI程序

        在命令窗口直接键入文件名或用openfig, openhgload命令运行GUI程序。

    1. 几何位置排列工具(Alignment tool)的使用:

        可以通过选择工具栏中的排列工具图标打开排列工具窗口,用于调节各控件对象之间相对的水平和垂直位置。

    1. 用属性编辑器设置控件属性(Set attributes of controller with Property Inspector)

        设置控件属性,在属性编辑器中提供了所有可设置的属性列表并显示出当前的属性。

    1)打开属性编辑器(Opening Property Inspector)三种方法:1. 用工具栏上的图标打开;2. View菜单中选择Property Inspector菜单项;3. 在按鼠标右键弹出的Property Inspector菜单中选择菜单项。

    2使用属性编辑器(Using Property Inspector)属性编辑器中包含了控件的基本属性,都可以在编辑器中填写或更改属性值,一般情况下许多属性可采用默认值,只对与制作目的直接相关的属性进行编辑。

    1. 菜单编辑器(Menu Editor) 用于制作GUI窗口的菜单,包括菜单的设计和编辑,菜单编辑器有八个快捷键,可以利用它们任意添加或删除菜单,可以设置菜单项的属性,包括名称(Label)标识(Tag)选择是否显示分隔线(Separator above this item)是否在菜单前加上选中标记(Item is checked)、设置调用函数(Callback)

        菜单编辑器的下方有两个可选择的页面,分别用于设计主菜单和鼠标右键菜单,鼠标右键菜单为主程序窗口和控件上的弹出菜单,可设计多个鼠标右键菜单,每个控件可以通过属性查询器中UIContextMenu选择一个鼠标右键菜单,UIContextMenu的缺省选项为(None)

    1. 对象浏览器(Object Browsers)用于浏览当前程序所使用的部对象信息,可以在对象浏览器中选种一个或多个控件来打开该控件的属性编辑器。

    三、GUI程序设计(GUI Program design)

    GUI设计包括图形界面的设计和功能设计两个方面。

    一般步骤:

    *分析界面所要实现的主要功能,明确设计任务

    *在稿纸上绘制界面草图,优化草图

    *按设计草图上机制作静态界面*

    *编写界面动态功能的程序,

    1 制作一个可进行图形显示、绘图启动和做3D 旋转操作的GUI

    1. 布置控件一个坐标系,一个显示标题的文本框,一个选    择三维旋转的复选框和一个启动绘图的按钮。
    2. 定义文本框的属性:String---简单设计示例,FontName---隶书,FontSize--22
    3. 定义坐标系: Visible—off,
        1. 定义按钮属性: string:加名称,选择FontName,FontSize,ForeGroundColor和按钮颜色BackgroundColor. Callback:surf(peaks(60)).
    4. 定义复选框: String—3D旋转,Callback—rotate3d

    2设计一个简单信号分析仪的程序,要求根据输入的两个频率和时间间隔,计算函数x=sin(2πf1t)+sin(2πf2t) 的值,并对函数进行快速傅立叶变换,最后分别绘制时域和频域的曲线。

    1. 设计图形界面(GUI Design)

    设计步骤:

      1. 在布局编辑器中布置控件,
      2. 使用几何位置排列工具对控件的位置进行调整;
      3. 设计控件的属性;
      4. 设置其他绘图属性。
    1. 设置控件的标识(Set the Tag of controller)

     控件的标识(Tag)是对于各控件的识别,每个控件载创建时都会由开发环境自动产生一个标识,在程序设计中,为了编辑、记忆和维护的方便,一般为控件设置一个新的标识。本例设置第一个坐标轴的标识为:frequency_axes, 用于显示频域图形; 第二个坐标轴的标识为:time_axes, 用于显示时域图形。三个文本编辑框的标识为f1_input, f2_input, t_input,分别用于输入两个频率和自变量时间的间隔.

    3. 编写代码(Edit code)

    GUI图形界面的功能,还是要通过一定的设计思路和计算方法,由特定的程序来实现。为了实现程序的功能,还需要在运行程序前编写一些代码,完成程序中变量的赋值、输入输出、计算及绘图等工作。

    一般内容为:

    %(1) 设置对象的初始值;

    %分别设置三个文本编辑框的初始值为:

    f1_input=20

    f2_input=50

    t_input=0:0.001:0.5

    %(2) 编写代码:

    %1) GUI获得用户输入的数据,本例中输入的三个数据

    %分别为频率1、频率2和时间间隔。

    f1=str2double(get(handles.f1_input,'String'));

     f2=str2double(get(handles.f2_input,'String'));

    t=eval(get(handles.t_input,'String'));

    %2) 计算数据,计算函数值,按指定点进行快速傅立叶变

    %换,并计算频域的幅值和频域分辨率。

    x=sin(2*pi*f1*t)+sin(2*pi*f2*t);

    y=fft(x,512);

    m=y.*conj(y)/512;

    f=1000*(0:256)/512;

    %3) 在第一个坐标轴中绘制频域曲线。

    axes(handles.frequency_axes)

    plot(f,m(1:257))

    set(handles.frequency_axes,'XminorTick','on')

    grid on

    %4) 在第二个坐标轴中绘制时域曲线。

    axes(handles.time_axes)  %选择适当的坐标轴

    plot(t,x)

    set(handles.time_axes,'XminorTick','on')

    grid on

    运行程序(Running program)

     

    3 制作一个曲面光照效果的演示界面,如图所示,三个弹出式菜单分别用于选择曲面形式、色彩图、光照模式和反射模式,三个滚动条用于确定光源的位置,一个按钮用于退出演示。

     

     

    制作要点:

    (1)建立一个静态文本,用于显示界面的标题:光照效果演示;

    (2)建立坐标轴对象,用于显示图形;

    (3)建立四个下拉菜单,分别用于选择绘图表面的形状、色图、光照模式和反射模式,每个下拉菜单的上方都有一个静态文本用于说明菜单的作用;

    (4)在一个frame上建立三个滑条用于确定光源的位置,并在frame上方加一说明;

    (5)建立一个按钮用于退出演示;

     

    callback函数的内容为:

    function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)

    delete(handles.figure1)

    % --------------------------------------------------------------------

    function varargout = popupmenu1_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    switch val

    case 1

        surf(peaks);

    case 2

        sphere(30);

    case 3

        membrane

    case 4

       [x,y]=meshgrid(-4:.1:4);

       r=sqrt(x.^2+y.^2)+eps;

       z=sinc(r);

       surf(x,y,z)

    case 5

       [x,y]=meshgrid([-1.5:.3:1.5],[-1:0.2:1]);

       z=sqrt(4-x.^2/9-y.^2/4);

       surf(x,y,z);

    case 6

       t=0:pi/12:3*pi;

       r=abs(exp(-t/4).*sin(t));

       [x,y,z]=cylinder(r,30);

        surf(x,y,z);

    end

    shading interp

    light('Position',[-3 -2 1]);

    axis off

    % --------------------------------------------------------------------

    function varargout = radiobutton1_Callback(h, eventdata, handles, varargin)

    set(h,'value',1)

    set(handles.radiobutton2,'value',0)

    set(handles.radiobutton3,'value',0)

    set(handles.radiobutton4,'value',0)

    lighting flat

    % --------------------------------------------------------------------

    function varargout = radiobutton2_Callback(h, eventdata, handles, varargin)

    set(h,'value',1)

    set(handles.radiobutton1,'value',0)

    set(handles.radiobutton3,'value',0)

    set(handles.radiobutton4,'value',0)

    lighting gouraud

    % --------------------------------------------------------------------

    function varargout = radiobutton3_Callback(h, eventdata, handles, varargin)

    set(h,'value',1)

    set(handles.radiobutton1,'value',0)

    set(handles.radiobutton2,'value',0)

    set(handles.radiobutton4,'value',0)

    lighting phong

    % --------------------------------------------------------------------

    function varargout = radiobutton4_Callback(h, eventdata, handles, varargin)

    set(h,'value',1)

    set(handles.radiobutton1,'value',0)

    set(handles.radiobutton3,'value',0)

    set(handles.radiobutton3,'value',0)

    lighting none

     

    % --------------------------------------------------------------------

    function varargout = popupmenu2_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    switch val

    case 1

        colormap(jet)

    case 2

        colormap(hot)

    case 3

        colormap(cool)

    case 4

        colormap(copper)

    case 5

        colormap(pink)

    case 6

        colormap(spring)

    case 7

        colormap(summer)

    case 8

        colormap(autumn)

    case 9

        colormap(winter)

    end

    % --------------------------------------------------------------------

    function varargout = popupmenu3_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    switch val

    case 1

        lighting flat

    case 2

        lighting gouraud

    case 3

        lighting phong

    case 4

        lighting none

    end

    % --------------------------------------------------------------------

    function varargout = popupmenu4_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    switch val

    case 1

        material shiny

    case 2

        material dull

    case 3

        material metal

    case 4

        material default

    end

    % --------------------------------------------------------------------

    function varargout = slider1_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    set(handles.edit1,'string',num2str(val));

    lx==val;  ly=get(handles.slider2,'value');  ly=get(handles.slider3,'value');

    light('Position',[x y z]);

    % --------------------------------------------------------------------

    function varargout = edit1_Callback(h, eventdata, handles, varargin)

    str=get(h,'string');

    set(handles.slider1,'value',str2num(str));

    lx==str2num(str);  ly=get(handles.slider2,'value');  ly=get(handles.slider3,'value');

    light('Position',[x y z]);

    % --------------------------------------------------------------------

    function varargout = slider2_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    set(handles.edit2,'string',num2str(val));

    lx=get(handles.slider1,'value');  lx==val;  ly=get(handles.slider3,'value');

    light('Position',[x y z]);

    % --------------------------------------------------------------------

    function varargout = edit2_Callback(h, eventdata, handles, varargin)

    str=get(h,'string');

    set(handles.slider2,'value',str2num(str));

    % --------------------------------------------------------------------

    function varargout = slider3_Callback(h, eventdata, handles, varargin)

    val=get(h,'value');

    set(handles.edit3,'string',num2str(val));

    % --------------------------------------------------------------------

    function varargout = edit3_Callback(h, eventdata, handles, varargin)

    str=get(h,'string');

    set(handles.slider3,'value',str2num(str));

     

     

     

     

    *对话框设计:在图形用户界面程序设计中,对话框是重要的信息显示和获取输入数据的用户界面对象。

    1、公共对话框:

     公共对话框是利用windows资源的对话框,包括文件打开、文件保存、颜色设置、字体设置、打印设置等。

    1) 文件打开对话框:用于打开文件

    uigetfile

    uigetfile(‘FilterSpec’)

    uigetfile(‘FilterSpec’,’DialogTitle’)

    uigetfile(‘FilterSpec’,’DialogTitle’,x,y)

    [fname,pname]=uigetfile(…)

    2) 文件保存对话框:用于保存文件

    uiputfile

    uiputfile(‘InitFile’)

    uiputfile(‘InitFile’,’DialogTitle’)

    uiputfile(‘InitFile’,’DialogTitle’,x,y)

    [fname,pname]=uiputfile(…)

    3) 颜色设置对话框:用于图形对象颜色的交互设置

    c=uisetcolor(‘h_or_c,’DialogTitle’)

    4) 字体设置对话框:用于字体属性的交互式设置

    uisetfont

    uisetfont(h)

    uisetfont(S)

    uisetfont(h,’DialogTitle’)

    uisetfont(S,’DialogTitle’)

    S=uisetfont(…)

    5 打印设置对话框:用于打印页面的交互式设置

    dlg=pagesetupdlg(fig)

    pagedlg

    pagedlg(fig)

    6) 打印预览对话框:用于对打印页面进行预览

    printpreview

    printpreview(f)

    7) 打印对话框:

    printdlg

    printdlg(fig)

    printdlg(‘-crossplatform’,fig)

    printdlg(-‘setup’,fig)

     

    2MATLAB专用对话框

    1)错误信息对话框:用于提示错误信息

    errordlg  打开默认的错误信息对话框

    errordlg(‘errorstring’) 打开显示’errorstring’信息的错误信息对话框

    errordlg(‘errorstring’,’dlgname’) 打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定

    erordlg(‘errorstring’,’dlgname’,’on’) 打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定. 如果对话框已存在,’on’参数将对话框显示在最前端。

    h=errodlg(…)  返回对话框句柄

    例:errordlg('输入错误,请重新输入','错误信息')

    H=errordlg('输入错误,请重新输入','错误信息','on')

     2) 帮助对话框:用于帮助提示信息

     helpdlg    打开默认的帮助对话框

    helpdlg(‘helpstring’)  打开显示’errorstring’信息的帮助对话框,

    helpdlg(‘helpstring’,’dlgname’) 打开显示’errorstring’信息的帮助对话框, 对话框的标题由‘dlgname’指定

    h=helpdlg(…)  返回对话框句柄

    例:helpdlg('矩阵尺寸必须相等','在线帮助')

     

    3) 输入对话框:用于输入信息

    answer=inputdlg(prompt)  打开输入对话框,prompt为单元数组,用于定义输入数据窗口的个数和显示提示信息,answer为用于存储输入数据的单元数组。

    answer=inputdlg(prompt,title)  与上者相同,title确定对话框的标题。

    answer=inputdlg(prompt,title,lineNo)  参数lineNo可以是标量、列矢量或m×2阶矩阵,若为标量,表示每个输入窗口的行数均为lineNo;若为列矢量,则每个输入窗口的行数由列矢量lineNo的每个元素确定;若为矩阵,每个元素对应一个输入窗口,每行的第一列为输入窗口的行数,第二列为输入窗口的宽度。

    answer=inputdlg(prompt,title,lineNo,defAns) 参数defans为一个单元数组,存储每个输入数据的默认值,元素个数必须与prompt 所定义的输入窗口数相同,所有元素必须是字符串。

    answer=inputdlg(prompt,title,lineNo,defAns,Sesize) 参数resize决定输入对话框的大小能否被调整,可选值为onoff.

    例:prompt={'Input Name','Input Age'};

    title='Input Name and Age';

    lines=[2 1]';

    def={'John Smith','35'};

    answer=inputdlg(prompt,title,lines,def);

     

    4) 列表选择对话框:用于在多个选项中选择需要的值

    [selection,ok]=listdlg(‘Liststring’,S,…) 输出参数selection为一个矢量,存储所选择的列表项的索引号,

    输入参数为可选项’Liststring’(单元数组), ’SelectionMode’’single’’multiple’,  ’ListSize’([wight,height]),  ’Name’ (对话框标题)等

    例:  d = dir;

    str = {d.name};

    [s,v] = listdlg('PromptString','Select a file:',...

                'SelectionMode','single','ListString',str)

    5) 信息提示对话框:用于显示提示信息

    msgbox(message)  打开信息提示对话框,显示message信息。

    msgbox(message,title)  title确定对话框标题。

    msgbox(message,title,’icon’) icon用于显示图标,可选图标包括:none(无图标)/error/help/warn/custom(用户定义)

    msgbox(message,title,’custom’,icondata,iconcmap) 当使用用户定义图标时,icondata为定义图标的图像数据,iconcmap为图像的色彩图。

    msgbox(…,’creatmode’)  选择模式creatmode,选项为:modal, non_modal, replace

    h=msgbox(…)   返回对话框句柄

    例:  An example which blocks execution until the user responds:

         uiwait(msgbox('Start?','Title','modal'));

     

       An example using a custom Icon is:

         Data=1:64;Data=(Data'*Data)/64;

         h=msgbox('Are you ready?','Title','custom',Data,hot(64))

     

       An example which reuses the existing msgbox window:

         CreateStruct.WindowStyle='replace';

         CreateStruct.Interpreter='tex';

         h=msgbox('X^2 + Y^2','公式','custom',Data,hot(64),CreateStruct);

      

    6) 问题提示对话框:用于回答问题的多种选择

    button=questdlg(‘qstring’) 打开问题提示对话框,有三个按钮,分别为:yes,nocancel,’questdlg’确定提示信息。

    button=questdlg(‘qstring’,’title’) title确定对话框标题。

    button=questdlg(‘qstring’’title’,’default’) 当按回车键时,返回defaultdefault 必须是yes,nocancel 之一。

    button=questdlg(‘qstring’,’title’,’str1’,’str2’,’default’) 打开问题提示对话框,有两个按钮,分别由str1str2确定,’qstdlg’确定提示信息,default必须是str1str2之一。

    button=questdlg(‘qstring’, ’title’,’str1’,’str2’,’str3’,’default’) 打开问题提示对话框,有三个按钮,分别由str1 str2str3确定,’qstdlg’确定提示信息,default必须是str1, str2str3之一。

    例:  ButtonName=questdlg('What is your wish?', ...

                           'Genie Question', ...

                           'Food','Clothing','Money','Money');

        switch ButtonName,

         case 'Food',

          disp('Food is delivered');

         case 'Clothing',

          disp('The Emperor''s  new clothes have arrived.')

          case 'Money',

           disp('A ton of money falls out the sky.');

       end % switch

    7) 进程条:以图形方式显示运算或处理的进程

    h=waitbar(x,’title’)  显示以title为标题的进程条,x为进程条的比例长度,其值必须在01之间,h为返回的进程条对象的句柄。

    waitbar(x,’title’,’creatcancelbtn’,’button_callback’) 在进程条上使用creatcancelbtn参数创建一个撤销按钮,在进程中按下撤销按钮将调用button_callback函数。

    waitbar(…,property_name,property_value,…) 选择其它由prompt_name定义的参数,参数值由prompt_value指定。

    例:

    h=waitbar(0,'pleas wait...');

    for i=1:10000

      waitbar(i/10000,h)

    end

      close(h)

     

    8)警告信息对话框:用于提示警告信息

     h=warndlg(‘warningstring’,’dlgname’) 打开警告信息对话框,显示warningstring信息,dlgname确定对话框标题,h为返回对话句柄。

    例:h=warndlg('Time is over!','运行时间')

     

    Creating Graphical User Interfaces   Defining Context MenusA context menu is displayed when a user right-clicks on the object for which the menu is defined. The Menu Editor enables you to define context menus and associate them with objects in the layout. See Defining Menus for the Menu Bar for information about defining menus in general. Creating the Parent MenuAll items in a context menu are children of a menu that is not displayed on the figure menu bar. To define the parent menu, select New Context Menu from the Menu Editor's toolbar.  Note    You must select the Menu Editor's Context Menus tab before you begin to define a context menu. Select the menu and specify the Tag to identify the context menu (axes_context_menu in this example). Adding Items to the Context MenuCreate the items that will appear in the context menu using New Menu Item on the Menu Editor's toolbar.  When you select the menu item, the Menu Editor displays fields for you to enter the Label and Tag properties of the menu item.  You can also Select the Separator above this item check box to display a separator above the menu item when the menu is first opened. Select the Check mark this item check box to display a check next to the menu item when the menu is first opened. A check is particularly useful to indicate the current state of the menu item. For example, suppose you have a menu item called Show axes that toggles the visibility of an axes between visible and invisible each time the user selects the menu item. If you want a check to appear next to the menu item when the axes are visible, add the following code to the callback for the Show axes menu item: if strcmp(get(gcbo, 'Checked'),'on')

        set(gcbo, 'Checked', 'off');

    else

        set(gcbo, 'Checked', 'on');

    end

    This changes the value of the Checked property of the menu item from on to off or vice versa each time a user selects the menu item. If you set the axes to be visible when a user first opens the GUI, make sure to select the Check mark this item check box in the Menu Editor, so that a check will appear next to the Show axes menu item initially. Select the Enable this item check box so that the user can select this item when the menu is first opened. If you deselect this option, the menu item appears dimmed when the menu is first opened, and the user cannot select it. Click the More options button to open the Property Inspector where you can change all uimenu properties. Associating the Context Menu with an ObjectIn the Layout Editor, select the object for which you are defining the context menu. Use the Property Inspector to set this object's UIContextMenu property to the desired context menu.  In the GUI M-file, complete the callback subfunction for each item in the context menu. Each callback executes when a user selects the associated context menu item. See Menu Callbacks for information on defining the syntax.   Menu Callbacks

    展开全文
  • matlab的GUI对图像处理

    2018-10-18 08:45:27
    基于matlab的GUI对本地图像读取、保存本地、几何变换(缩小放大和裁剪图像)、图像增强、五种边缘检测方法
  • Matlab GUI 参数传递方式 总结别人带自己一些见解请指正 matlab gui 共有六种参数传递方式和范围各不相同 1运用 gui 本身 varain{}varaout{}传递参数注这种方式仅适用与 gui 间传递数据且只适合与主子结构 ...
  • MATLAB的GUI设计

    2012-12-24 13:56:14
    用于matlab的GUI设计,里面有很多名词解释,包括如何一步步操作。
  • 基于matlab的GUI设计

    2014-12-29 18:56:53
    本文档详细讲解MATLAB的GUI设计,并配套已简单图像处理函数
  • 基于Matlab的GUI的CRC编码译码和海明编码译码 含GUI界面,CRC编码程序和译码程序,海明编码和译码程序
  • 课题三 MATLAB GUI 程序设计 图形用户界面GUI则是由窗口光标按键菜单文字说明等对象构成一个用 户界面用户通过一定方法如鼠标或键盘选择激活这些图形对象使计算机产生 某种动作或变化比如实现计算绘图等 ...
  • MATLAB的GUI入门

    千次阅读 2016-12-12 21:24:33
    MATLAB的GUI入门 最近我们的信息隐藏老师让我们用程序实现图片基于直方图的信息隐藏,因为MATLAB在处理图片上的优越性,我决定使用它的GUI进行程序的编写: MATLAB安装 首先自然是MATLAB的安装,关于这点,网上有...

    最近我们的信息隐藏老师让我们用程序实现图片基于直方图的信息隐藏,因为MATLAB在处理图片上的优越性,我决定使用它的GUI进行程序的编写:

    1.MATLAB安装
    首先自然是MATLAB的安装,关于这点,网上有太多的教程,我们就不详细描述了
    2.在命令窗口输入
    guide

    会进入这样一个界面,选择新建或打开,开始控件的编辑;这里写图片描述

    3.排布控件位置
    页面创建好之后,在你新建的*.fig文件内拖拽你需要的控件,然后拖拽控件对它进行调整,变成你喜欢的样子
    这个是我临时建立的你们凑合地看下哈!
    4.现在开始建立回调函数了;
    5.浏览按钮我们要让它实现windows中打开文件的功能,就可以这样写

    [filename,pathname]=uigetfile({'*.bmp';'*.jpg';'*.tif';'*.jpg'},'选择图像');

    结果图
    %%filename会得到文件名(带后缀),pathname会被赋给文件路径的值;uigetfile则是你需要的打开windows文件窗口的函数(别的用法我也不是很懂,就不细说啦),逗号前的部分是你支持的打开的文件的文件格式,因为我是做图片处理用的,所以我就只支持了打开部分图片格式(所有内容用花括号括起来,每一项先用单引号引起来,再用分号分隔开来),逗号后面的则是你的弹窗最顶部会显示的字符串,看你想怎么写了!!!

    6.静态文本框可以用来显示路径的,不过,这个要你自己写函数喽
    set(handles.tag,'String',string); %%tag自己看你的文本框的tag是什么,它就像是ID一样的东西,可以说是唯一的

    把它放在“浏览”按钮的回调函数下面,它调用完成之后就可以重新设置文本框的显示内容了(string的部分自己替换为你要显示的内容就好了,如果直接赋值,别忘了用单引号引起来)
    7.路径的上传
    之前我们通过uigetfile函数得到了你的文件名和路径名,你首先要做的就是将他们合起来:

    name=[pathname,filename];

    此时,name的值就是你的路径以及文件名的总和了。
    再把上面的string替换为name,就可以正确显示文件的路径了
    全部程序如下:

    [filename,pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.jpg'},'选择图像');
    image=[pathname,filename];
    set(handles.text2,'String',image); 

    路径出现啦

    PS:别忘了控件的tag需要先看看。
    8.图片显示到坐标轴上

    im=imread(image);%读取图片
    axes(handles.axes2);%使用图像,操作在坐标2
              imshow(im);%在坐标axes2显示原图像

    程序结果

    展开全文
  • MATLAB的GUI源码,实战项目的菜单栏操作,多界面进行转换和绘制图像的可视化
  • matlab的GUI编程教程

    2010-04-08 15:03:43
    matlab的GUI编程教程,Matlab GUI编程教程(适用于初学者)。对怎么编程介绍的比较详细。
  • 基于matlab的gui显示动态卷积,圆周卷积,数字信号处理的计算机实验
  • 基于matlab的GUI搭建通用视频处理工具,视频处理首先要解决的问题是对视频进行读取、获取视频信息、提取帧图像等操作,MATLAB包含了一个强大的视频及图像处理工具箱,设计通用的MATLAB视频处理GUI框架,可实现视频...
  • 27, No.8, 2011 技术交流 微型电脑应用 2011年第27卷第8期 ·53·文章编号:1007-757X(2011)08-0053-03基于MATLAB 的GUI 设计应用软件龚妙昆摘 要:在MATLAB 的GUI(Graphic User Interface)基础上,充分地利用了UI...
  • matlab的gui图像处理操作界面,实现重置和退出按钮功能发布时间:2018-03-09 22:10,浏览次数:581, 标签:matlabguiaxes控件实现了展示图片,动态txt控件实现了展示或者输入参数。在gui界面右键点击“重置”...
  • 分享一下Matlab的GUI的例子-经典例子.rar 一共有15个m文件,80几个函数,5000多行代码。包含了一般软件的几大块:界面、参数、算法、仿真、演示等。熟悉GUI的朋友感兴趣的问题都有所涉及:比如参数传递,多个界面...
  • MATLAB的GUI打包成文件.pdf
  • Matlab的GUI的slider滑动条和edit动态文本框一起调整某个参数例程。配合csdn博客教程
  • 本资源时基于matlab的GUI界面多种卷积计算和滤波器等,可以实现手动输入,锯齿、正弦等波形选择,也可以由自己任意输入序列。一步一步的演示卷积计算步骤和结果。包括循环卷积、线性卷积、快速卷积。其次含有卡尔曼...
  • Matlab的GUI秒表秒表计时器-stopwatch.m 程序是基于matlab7.0编写的,贴出来希望有所帮助!呵呵~ 程序: stopwatch.m 实现程序 程序界面 秒表计时器.jpg 程序界面
  • 基于MATLAB的GUI系统设计-bode.m aa.fig aa.m bode.fig bode.m duo.fig ...
  • 基于MATLAB的GUI系统设计-bode.fig aa.fig aa.m bode.fig bode.m duo.fig ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,442
精华内容 2,576
关键字:

matlab的gui

matlab 订阅