GUIDEで作成したGUI 上から、読込み用のフ​ァイルを選択した上で​、mファイルを実行さ​せるにはどうすればい​いですか?

6 次查看(过去 30 天)
kaori iiduka
kaori iiduka 2015-9-10
编辑: mizuki 2016-10-5

既存の解析用mファイルが有り、解析を実施しております。 毎回、読込み用のファイル(エクセル)のファイル名をmファイル上で書き換えて、mファイルを実行してます。

GUI 上から読込み用のファイルを選択(ディレクトリ(フォルダ)選択ダイアログを使用)し、GUI 上の「実行」ボタンをクリックさせるとmファイルが実行できるGUIを作成するにはどうすればいいのでしょうか?

※読込み用のファイル(エクセル)には変数等が書いてあり、読込んでから演算したりプロットしたりし、また、ワークスペースに変数があがってきます

  1 个评论
Image Analyst
Image Analyst 2015-9-10
Google translation:
There is an existing analysis for an m file. We have carried out analysis. Every time you run the m file, you can rewrite the file name of the file (Excel) for reading the on m file,
Select a file for reading from the GUI to (directory (folder) using the selection dialog), and what should I do to create a "run" button that when you click m file, it runs the m-file on the GUI?
※ to file for reading (Excel) is written is variable, etc., and or plotted or calculated from the crowded read, also, will come up is variable in the workspace.

请先登录,再进行评论。

采纳的回答

mizuki
mizuki 2016-10-4
编辑:mizuki 2016-10-5
1. 以下のコマンドで GUI を作成するための GUI ツール (GUIDE) を起動します。
>> guide
2. レイアウト画面でレイアウトを作成し、名前をつけて保存します。 添付の例では、 リストボックス プッシュボタン エディットテキスト スタティックテキスト を配置しています。
(R2016bで作成しているため、それ以前のバージョンではうまく作動しない可能性があります。)
レイアウトを保存するとMATLABファイルが作成されますので、コード内に実行したいオペレーションを追加していきます。
3. 起動時にファイルリストを リストボックス に出すための以下のようなコードを OpeningFcn に追加します。
filelist = ls;
set(handles.listbox1, 'String', filelist)
これは、set コマンドを使って、タグ名が listbox1 である リストボックス の String プロパティを filelist で設定しています。今回の場合エクセルファイルとのことですので、
filelist = ls('*.xlsx');
と指定することでエクセルファイルのみを表示することができます。
4. プッシュボタン を押したらあるオペレーションを実行するようにするには、pushbutton1_Callback 関数にオペレーションを追加します。 今回の場合、 プッシュボタン を押した際に エディットテキスト に選択したファイル名が表示されるような以下のようなコードを追加しましたが、スクリプトなどを追加しても良いです。プロットをされたいとのことですので、ここに描画関数を入れてみてください。
filelist = get(handles.listbox1, 'String');
fileidx = get(handles.listbox1, 'Value');
filename = filelist(fileidx,:);
set(handles.edit1, 'String', filename)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by