8

プロジェクト用に MATLAB で GUI を作成する必要があります。GUI をプログラミングする方法の例をあちこち探しましたが、多くは見つかりませんでした。MATLAB での GUI プログラミングに適したサイトまたは手法は何ですか?

4

4 に答える 4

11

最初に行く必要がある場所は、Matlab Help on Making Graphical User Interfaces です。

次に、このチュートリアルビデオまたはこれを見ることができます

このチュートリアルも良いです。

于 2009-07-12T10:17:59.547 に答える
2

Matt FigによってMathWorks File Exchangeに投稿されたこれらの41 の完全な GUI の例は、開始するのに最適な場所です。投稿は今週のピックにも選ばれました。

于 2010-09-23T02:51:32.563 に答える
2

最近、いくつかのプロットを制御する単純な GUI をプログラムする必要がありました。あなたの仕事が何であるか正確にはわかりませんが、ここにいくつかの基本的なコードがあります。これにより、2 つの図が作成されます。図 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 のドキュメント Web サイト ( http://www.mathworks.com/access/helpdesk/help/techdoc/infotool/hgprop/doc_frame.html ) で非常に有益な Handle Graphics Property Browser を熟読してください。UI オブジェクト (またはその他の必要なもの) をクリックします。

お役に立てれば!

于 2009-07-13T14:41:59.500 に答える