0

MATLAB で GUIDE を使用して最初の GUI を作成しました。

GUI の目的は、異なる引数で関数を実行することです。

コードの基本構造は次のとおりです。

ユーザーが選択し、これらすべての引数を使用して関数を実行するいくつかの引数があります。RSM という名前の呼び出された関数は、GUI の .fig および .m ファイルと同じフォルダーに保存されます。

GUIの基本構造はこんな感じ

  • ユーザーが異なる値を選択できる別のリストボックス。各リストボックスはメイン関数の 1 つの引数です
  • 引数を指定してメイン関数を実行するためのプッシュ ボタン

各リストボックスは次のようにコーディングされます。

function popupmenu_contour_style_Callback(hObject, eventdata, handles)
contour_style=get(hObject,'Value');
handles.contour_style=contour_style;
guidata(hObject, handles);

次に、メインのプッシュ ボタンは次のようにコーディングされます。

function pushbutton2_Callback(hObject, eventdata, handles)

fitted_values = RSM_plot_function(...
    handles.fullpathname,...
    get(handles.checkbox_realspace,'Value'),...
    get(handles.checkbox_reciprocalspace,'Value'),...
    get(handles.popupmenu_plot_type,'Value'),...
    get(handles.checkbox_color,'Value'),...
    get(handles.checkbox_correctionforomega,'Value'),...
    get(handles.checkbox_includeoriginline,'Value'),...
    get(handles.popupmenu_contour_style,'Value'),...
    get(handles.listbox_fitting,'Value'),...
    get(handles.grid_density,'Value'),...
    get(handles.contour_number,'Value')...
    );

この手法を使用して、ユーザーが変更していなくても、各リストボックスの値を読み取りました。

プログラムを初めて実行すると、完全に機能します。ただし、一部のリストボックスのパラメーターを変更すると、奇妙なエラーが発生しました。

Error while evaluating uicontrol Callback

Error using handle.handle/get
Invalid or deleted object.

Error in RSM>pushbutton2_Callback (line 227)
fitted_values = RSM_plot_function(...

このエラーの理由がよくわかりません。リストボックスの値を取得し、RSM 関数に引数として渡すために正しい方法を使用したかどうかもわかりません。

4

0 に答える 0