8

I need to create a GUI in MATLAB for my project. I looked everywhere for examples of how to program a GUI but I couldn't find a lot. What are some good sites or techniques for GUI programming in MATLAB?

4

4 回答 4

11

The first place you need to go is Matlab Help on Creating Graphical User Interfaces .

Then, you can watch this tutorial video or this one

This tutorial is also good.

于 2009-07-12T10:17:59.547 回答
9

这是我制作的有关制作 MATLAB GUI 的所有视频

http://blogs.mathworks.com/videos/category/gui-or-guide/

于 2009-07-13T14:03:42.913 回答
2

我最近不得不编写一个简单的 GUI 来控制一些绘图。我不确切知道您的任务是什么,但这里有一些基本代码可以帮助您入门。这会创建两个数字;图 1 具有控件,图 2 具有 y=x^p 的图。您在框中输入 p 的值,然后按 enter 进行注册并重新绘制;然后按下按钮重置为默认 p=1。

    function SampleGUI()
    x=linspace(-2,2,100);
    power=1;
    y=x.^power;
    ctrl_fh = figure; % controls figure handle
    plot_fh = figure; % plot figure handle
    plot(x,y); 
    % uicontrol handles:
    hPwr = uicontrol('Style','edit','Parent',... 
                         ctrl_fh,...
                         'Position',[45 100 100 20],...
                         'String',num2str(power),...
                         'CallBack',@pwrHandler);

    hButton = uicontrol('Style','pushbutton','Parent',ctrl_fh,...  
                        'Position',[45 150 100 20],...
                        'String','Reset','Callback',@reset); 

    function reset(source,event,handles,varargin) % boilerplate argument string
        fprintf('resetting...\n');
        power=1;
        set(hPwr,'String',num2str(power));
        y=x.^power;
        compute_and_draw_plot();
    end

    function pwrHandler(source,event,handles,varargin) 
        power=str2num(get(hPwr,'string'));
        fprintf('Setting power to %s\n',get(hPwr,'string'));
        compute_and_draw_plot();
    end

    function compute_and_draw_plot()
        y=x.^power;
        figure(plot_fh); plot(x,y);
    end
end

GUI 背后的基本思想是,当您操作控件时,它们会调用“回调”函数,即事件处理程序;这些函数能够使用控制句柄和 set/get 方法通过控件进行交互,以获取或更改其属性。

要获得可用属性的列表,请仔细阅读 Matlab 文档网站 ( http://www.mathworks.com/access/helpdesk/help/techdoc/infotool/hgprop/doc_frame.html ) 上信息丰富的 Handle Graphics Property Browser;单击 UI 对象(或您需要的任何其他内容)。

希望这可以帮助!

于 2009-07-13T14:41:59.500 回答
2

这41 个由Matt Fig发布到MathWorks File Exchange的完整 GUI 示例是一个很好的起点。提交的内容甚至是本周精选

于 2010-09-23T02:51:32.563 回答