Using pushbutton to load an .m file in GUI

4 ビュー (過去 30 日間)
Laila Buncab
Laila Buncab 2015 年 5 月 27 日
コメント済み: Walter Roberson 2015 年 5 月 27 日
I'd like for a pushbutton to open a .m file(when you run the .m file, a .fig file appears). How do I do that?
I actually don't know anything about MATLAB, this was just my officemate's work passed on to me.

採用された回答

Joseph Cheng
Joseph Cheng 2015 年 5 月 27 日
you would first create a pushbutton in either GUIDE or manually using uicontrol. Then you would change the callback function to run a function that uses uigetfile() and the run() functions. see my example:
function test() %main function
%create the button and adjust the callback
btn = uicontrol('Style', 'pushbutton', 'String', 'Clear',...
'Position', [20 20 50 20],...
'Callback', @runfile);
%what the button does when clicked
function runfile(hobject,event)
[file folder]=uigetfile('*.m'); %prompt user to select mfile
run(fullfile(folder,file)); %fun the m-file.
  4 件のコメント
Laila Buncab
Laila Buncab 2015 年 5 月 27 日
It does run but when I click the button, a clear button appears at the bottom left corner.
I clicked the clear button, and proceeded to open 'performancegraph.m', but this error appears in the command window.
Warning: Function C:\Users\USER\Documents\OJT-orig -
Copy\home\home.m has the same name as a MATLAB
builtin. We suggest you rename the function to avoid a
potential name conflict.
> In run at 39
In home>runfile at 84
Error using run (line 40)
C:\Users\USER\Documents\OJT-orig-Copy\home\performancegraph.m
not found.
Error in home>runfile (line 84)
run('C:\Users\USER\Documents\OJT-orig-Copy\home\performancegraph.m');
Error while evaluating uicontrol Callback
Walter Roberson
Walter Roberson 2015 年 5 月 27 日
If you want the button in a different place or different size then change the parameter you are passing for Position.
The Warning is a warning and does not affect what comes after.
run() is able to find the directory you specified. However, there is no performancegraph.m there. Check for spelling mistakes, and check in case the actual file name has uppercase in some characters.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by