質問: guide で、入力引数を与えられる gui を作成するにはどうすればよいですか? guide で gui を作成しています。入力引数を与えられるような gui にしたい場合、どのようにコードを編集すればよいか、教えてください。
回答: 注意 guide は将来のバージョンで削除される予定 です。 appdesigner をご利用の場合は、以下の内容を参考にしてください。 ・app designer で作成したアプリに入力引数を与えて起動できますか?https://jp.mathworks.com/matlabcentral/answers/372666-app-designer matlab では、gui の openingfcn コールバックを変更することで入力引数を受け入れることができます。 gui に入力する入力引数は、openingfcn コールバックの varargin 変数からアクセスできます。 プログラム内で、varargin 変数はセル配列です。 例えば、string という名前の構造体を gui に入力し、その値を statictext という tag を持つスタティックテキストボックスに表示する例を考えます。 この場合、以下のように opengfcn コールバックを記述します。 function samplegui_openingfcn(hobject, eventdata, handles, varargin) % this function has no output args, see outputfcn. % hobject handle to figure % eventdata reserved - to be defined in a future version of matlab % handles structure with handles and user data (see guidata) % varargin command line arguments to samplegui (see varargin) % choose default command line output for samplegui handles.output = hobject; % update handles structure guidata(hobject, handles); % uiwait makes samplegui wait for user response (see uiresume) % uiwait(handles.figure1); % 入力引数によって処理を変更 if nargin<4 | ~isstruct(varargin{1}) % gui に入力引数が与えられなかった場合 set(handles.statictext,'string','default string') % デフォルトのテキストを表示 else % guiに入力引数が与えられた場合 set(handles.statictext,'string',varargin{1}.string) end 上記のように作成した gui は、以下のようにコマンドから入力引数を与えることができます。 >> samplegui('change string') 関連する内容が以下の url からもご覧いただけます。 ・guide アプリでの ui コンポーネントの初期化https://www.mathworks.com/help/matlab/migrate-guide-apps.html