プロジェクト用に MATLAB で GUI を作成する必要があります。GUI をプログラミングする方法の例をあちこち探しましたが、多くは見つかりませんでした。MATLAB での GUI プログラミングに適したサイトまたは手法は何ですか?
4 に答える
最初に行く必要がある場所は、Matlab Help on Making Graphical User Interfaces です。
次に、このチュートリアルビデオまたはこれを見ることができます
このチュートリアルも良いです。
Matt FigによってMathWorks File Exchangeに投稿されたこれらの41 の完全な GUI の例は、開始するのに最適な場所です。投稿は今週のピックにも選ばれました。
最近、いくつかのプロットを制御する単純な 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 オブジェクト (またはその他の必要なもの) をクリックします。
お役に立てれば!