主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

簡単な数字ベースのアプリの作成と実行

メモ

このトピックでは,関数数字作者:郝晓晖,王先生アプリの作成方法を参照してください。

以以节で,このアプリの作物

アプリを作成せずに,このアプリを作成したコードを表示して実行する場合は,現在のフォルダーを書き込みアクセス権限をもつフォルダーに設定してください。以下のMATLAB®コマンドを実行して,コード例をコピーし,エディターで开きます。

COPYFILE(FullFile(Docroot,'techdoc'“creating_guis”...“例子”“simple_gui2 * *’。)),fileattrib(“simple_gui2 * *’。' + w ');编辑simple_gui2.m
コードを実行するには,[エディター]タブで[実行]セクションに移動します。次に,[実行] をクリックします。

コードファイルの作物

関数ファイルを作成します(一連のMATLABコマンドが含まれる“スクリプトスクリプト”には,関数の定義が含まれません)。

  1. MATLABプロンプトに。”编辑“と入力します。

  2. エディターの第1行に次のステートメントを入力します。

    功能simple_gui2
  3. この関数ステートメントの後に次のコメントを入力し,最後に空行を1行追加します(このコメントは帮助コマンドの出力としてコマンドラインに表示されます)。

    %simple_gui2从弹出菜单中选择数据集,然后单击其中一个绘图类型按钮。单击按钮%在轴上绘制所选数据。(在这里留下一条空白行)
  4. ファイルファイルの最后ににある空空后结尾ステートメントステートメント追加します。例では子关有关部が使使れている,この结尾ステートメントステートメントが必要となりなり详细は,入れ子关节有关を参照してください。

  5. そのファイルをユーザーの现处于ののフォルダーmatlabパス上にに保存ますます。

图ウィンドウの作成

アプリのユーザーインターフェイス(UI)ののを作物成するは,ファイル内の结尾ステートメントの前に以下のコードを追加します。

%创建并隐藏正在构造的UI。f =图(“可见”“关闭”“位置”[360500450285]);

关节有关部数字の呼び出しによって,従来の图が作成され,以下のプロパティが設定されます。

  • 可见プロパティが“关闭”にコンポーネント追さ后するにがます。

  • 位置プロパティは,スクリーン上のUIの位置とサイズを指定する4要素ベクトル(左端からの距離,下端からの距離、幅、高さ]に設定されます。既定の単位はピクセルです。

UIへのコンポーネントのの加

プッシュボタン,スタティックテキスト,ポップアップメニューおよび座標軸のコンポーネントをUIに作成します。

  1. コードファイル内の数字の呼び出しの后に次のをを追し,プッシュボタンコンポーネントを3つ作物成し。

    %构造组件。hsurf = uicontrol ('风格'“按钮”...“字符串”'冲浪'“位置”, 315220, 70, 25);hmesh = uicontrol ('风格'“按钮”...“字符串”'网'“位置”, 315180, 70, 25);hcontour = uicontrol('风格'“按钮”...“字符串”'轮廓'“位置”, 315135, 70, 25);

    各ステートメントは,一切のuicontrolのプロパティ/値のペアを使用してプッシュボタンを次のように定義しています。

    • 风格プロパティで,uicontrolがプッシュボタンであることを指定しています。

    • 细绳プロパティで,プッシュボタン冲浪および轮廓にそれぞれラベルを指定します。

    • 位置プロパティでは,各プッシュボタンの位置とそのサイズを指定します。使用するのは(左端からの距離,下端からの距離、幅、高さ]です。プッシュボタンの既定の単位は,ピクセルです。

    uicontrolの呼び出しは,作成したプッシュボタンのハンドルを返します。

  2. プッシュボタンの定义に続いて,次のステートメントをコードファイルに追て,ポップアップメニューとテキストラベルをしステートメントはををを。ます。

    htext = uicontrol('风格''文本'“字符串”'选择数据'...“位置”, 325、90、60、15);hpopup = uicontrol ('风格''弹出菜单'...“字符串”,{“高峰”'膜''sinc'},...“位置”,[300,50,100,25]);

    ポップアップメニューコンポーネントの细绳プロパティでは细胞配列配列を使使て,ポップアップメニューの山峰およびSincの3つの项目を指定ています。

    テキストコンポーネントの细绳プロパティでは,ユーザーへの指示を指定しています。

    両方向コンポーネントの位置プロパティで,各コンポーネントのサイズとを指定しています位置するのはます。

  3. 次のステートメントをコードファイルに追加して,座標軸を追加します。

    ha =轴(“单位”'像素'“位置”[60200185]);

    单位プロパティにはピクセルを指定し,座标轴の単位を他のコンポーネントの単位と同じにします。

  4. すべてのコンポーネントの定義に続けて,次の行をコードファイルに追加することで,座標軸を除くすべてのコンポーネントの中心を揃えます。

    对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”“没有”);
  5. 对齐コマンドに続けて,次のコマンドを追加します。

    f.Visible ='在'

    コードファイルは次のようになります。

    功能simple_gui2%simple_gui2从弹出菜单中选择一个数据集,然后选择单击绘图类型的按钮之一。单击此按钮%在坐标轴上绘制选定的数据。%创建并隐藏正在构造的UI。f =图(“可见”“关闭”“位置”[360500450285]);%构造组件。hsurf = uicontrol ('风格'“按钮”“字符串”'冲浪'...“位置”, 315220, 70, 25);hmesh = uicontrol ('风格'“按钮”“字符串”'网'...“位置”, 315180, 70, 25);hcontour = uicontrol('风格'“按钮”...“字符串”'轮廓'...“位置”, 315135, 70, 25);htext = uicontrol('风格''文本'“字符串”'选择数据'...“位置”, 325、90、60、15);hpopup = uicontrol ('风格''弹出菜单'...“字符串”,{“高峰”'膜''sinc'},...“位置”,[300,50,100,25]);ha =轴(“单位”'像素'“位置”[60200185]);对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”“没有”);%使UI可见。f.Visible ='在'结尾
  6. コマンドラインで「simple_gui2「とと力量しコードを実行ししポップアップからのデータセットのプッシュプッシュのクリックはできが,何も起こりん。がファイルに现处于しないため。

アプリの動作のコーディング

ポップアップメニューのプログラミング

ポップアップメニューにより,プロットするデータを選択することができます。ユーザーがポップアップメニューにある3つのデータセットから1つを選択すると,MATLABソフトウェアでは,選択されたメニュー項目のインデックスがポップアップメニューの价值プロパティに设定されます。ポップアップポップアップメニューのコールバック,ポップアップメニューの价值プロパティを読み,现处于どのどの项目が表示されているかを判别,それに従ってcurrent_data.を設定します。

ファイルに,以下のコールバックをを初,最后の结尾ステートメントとの間に追加します。

%弹出菜单回调。读取弹出菜单的Value属性为%确定当前显示的项目,并将其设置为%当前数据。此回调会自动访问%current_data,因为此函数嵌套在较低级别。功能eventdata popup_menu_Callback(源)确定选定的数据集。str = source.String;val = source.Value;%将当前数据设置为所选数据集。转变str {val};情况下“高峰”%用户选择峰值。current_data = peaks_data;情况下'膜'%用户选择膜。current_data = membrane_data;情况下'sinc'%用户选择Sinc。current_data = sinc_data;结尾结尾

プッシュボタンのプログラミング

,current_data.のデータをプロットします。それらそれら,下载レベルで入れ子になっいるためcurrent_data.へのアクセスを自動的に行います。

ファイルファイル,以下のコールバックをメニューコールバックの后続け,最后の结尾ステートメントとの間に追加します。

%按钮回调。每个回调绘图绘图current_data%指定绘图类型。功能eventdata surfbutton_Callback(源)%显示当前所选数据的冲浪图。冲浪(Current_data);结尾功能meshbutton_callback(源,eventData)%显示当前选定数据的网格图。网格(Current_data);结尾功能eventdata contourbutton_Callback(源)%显示当前所选数据的Contour图。轮廓(current_data);结尾

コールバックのプログラミング

打回来プロパティを使用して,各イベントに关连付けるコールバックの名前を指定します。

  1. (冲浪)プッシュボタンを定义するuicontrolステートメントに対して,プロパティ/値のペアを追加します。

    '打回来',{@ surfbutton_callback}

    したがって,ステートメントは次のようになります。

    hsurf = uicontrol ('风格'“按钮”“字符串”'冲浪'...“位置”[315,220,70,25],...'打回来', {@surfbutton_Callback});

    打回来は,プロパティの名前です。surfbutton_callback.(冲浪)プッシュボタンに情報を提供するコールバックの名前です。

  2. (网)プッシュボタンを定义するuicontrolステートメントに対して,プロパティ/値のペアを追加します。

    '打回来',@ meshbutton_callback.
  3. [轮廓]プッシュボタンを定义するuicontrolステートメントに対して,プロパティ/値のペアを追加します。

    '打回来',@ contourbutton_callback.
  4. ポップアップメニューを定義するuicontrolステートメントに対して,プロパティ/値のペアを追加します。

    '打回来', @popup_menu_Callback

詳細は,プログラムによって作成されたアプリのコールバックの記述を参照してください。

UIの初期化

UIを初期化して,ウィンドウが表示されたときに使えるようにします。コンポーネントと图の単位を归一化にが,Uiがしされる,コンポーネントもサイズさと,请uを正化と,コンポーネントを正规と,请uをサイズさ。隅が(0,0)に,上右隅が(1.0, 1.0)にマップされます。

エディターで,次のコードを

%使UI可见。f.Visible ='在'

以下のコードでます。

%初始化UI。归一化的%更改单元,因此组件自动调整大小。F.Units =.'标准化';哈哈。单位='标准化';hsurf。单位='标准化';hmesh.units =.'标准化';hcontour.units =.'标准化';htext。单位='标准化';hpopup。单位='标准化'%生成要绘图的数据。peaks_data =峰(35);Membrane_data =膜;[x,y] = meshgrid(-8:.5:8);r = sqrt(x。^ 2 + y。^ 2)+ eps;sinc_data = sin(r)./ r;%在轴上创建一个绘图。current_data = peaks_data;冲浪(Current_data);%分配一个名称以显示在窗口标题中。F.Name =.“简单的GUI”%将窗口移动到屏幕的中心。Movegui(F,“中心”的)%使UI可见。f.Visible ='在'

コードコードの検证ととアプリの行

コードが正しく作成されていることを確認し,実行します。

  1. コードファイルが次のようになっていることを確認します。

    功能simple_gui2%simple_gui2从弹出菜单中选择一个数据集,然后选择单击绘图类型的按钮之一。单击此按钮%在坐标轴上绘制选定的数据。%创建并隐藏正在构造的UI。f =图(“可见”“关闭”“位置”[360500450285]);%构造组件。hsurf = uicontrol ('风格'“按钮”...“字符串”'冲浪'“位置”[315,220,70,25],...'打回来', @surfbutton_Callback);hmesh = uicontrol ('风格'“按钮”...“字符串”'网'“位置”(315180、70、25),...'打回来',@ meshbutton_callback);hcontour = uicontrol('风格'“按钮”...“字符串”'轮廓'“位置”,[315,135,70,25],...'打回来',@ contourbutton_callback);htext = uicontrol('风格''文本'“字符串”'选择数据'...“位置”, 325、90、60、15);hpopup = uicontrol ('风格''弹出菜单'...“字符串”,{“高峰”'膜''sinc'},...“位置”,[300,50,100,25],...'打回来', @popup_menu_Callback);ha =轴(“单位”'像素'“位置”[60200185]);对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”“没有”);%初始化UI。归一化的%更改单元,因此组件自动调整大小。F.Units =.'标准化';哈哈。单位='标准化';hsurf。单位='标准化';hmesh.units =.'标准化';hcontour.units =.'标准化';htext。单位='标准化';hpopup。单位='标准化'%生成要绘图的数据。peaks_data =峰(35);Membrane_data =膜;[x,y] = meshgrid(-8:.5:8);r = sqrt(x。^ 2 + y。^ 2)+ eps;sinc_data = sin(r)./ r;%在轴上创建一个绘图。current_data = peaks_data;冲浪(Current_data);%分配名称以显示在窗口标题中。F.Name =.“简单的GUI”%将窗口移动到屏幕的中心。Movegui(F,“中心”的)%使窗口可见。f.Visible ='在'%弹出菜单回调。读取弹出菜单的Value属性为%确定当前显示的项目,并将其设置为%当前数据。此回调会自动访问%current_data,因为此函数嵌套在较低级别。功能eventdata popup_menu_Callback(源)确定选定的数据集。str =得到(来源,“字符串”);val = get(来源,'价值');%将当前数据设置为所选数据集。转变str {val};情况下“高峰”%用户选择峰值。current_data = peaks_data;情况下'膜'%用户选择膜。current_data = membrane_data;情况下'sinc'%用户选择Sinc。current_data = sinc_data;结尾结尾%按钮回调。每个回调绘图绘图current_data%指定绘图类型。功能eventdata surfbutton_Callback(源)%显示当前所选数据的冲浪图。冲浪(Current_data);结尾功能meshbutton_callback(源,eventData)%显示当前选定数据的网格图。网格(Current_data);结尾功能eventdata contourbutton_Callback(源)%显示当前所选数据的Contour图。轮廓(current_data);结尾结尾
  2. コマンドラインで「simple_gui2「とと力してアプリを行ししし初初により。山顶データを关节冲浪で处理した结果が表示されます.UIは次のような外観になります。

  3. ポップアップメニューで,(膜)を選択してから,(网)ボタンボタンをクリックししますuは,MathWorks®L型膜ロゴのメッシュプロットを表示します。

  4. UIを閉じる前に他のいくつかの組み合わせを試します。

  5. コマンドラインに「帮助simple_gui2.“と入力します。MATLABソフトウェアがヘルプ テキストを表示します。

    帮助simple_gui2simple_gui2.选择一种数据弹出菜单,然后点击一个绘图类型纽扣。点击按钮绘图选择数据轴。

关键词する