Run .m script from GUI

I have a GUI that takes user defined inputs, and I want the user to be able to press a pushbutton on the GUI that then runs the .m script using the variables.
So i have, for the push button:
% --- Executes Setup Balance on button press
function pb_balance_Callback(hObject, eventdata, handles)
% hObject handle to pb_balance (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
run BalanceSetup
Where the button is called pb_balance and the .m script is called BalanceSetup. Will this work or do i need a different command to run it? The .m file is 500 lines long so i don't want to include it in my .m file for the GUI.
Thanks

 Accepted Answer

Matt Fig
Matt Fig on 11 Sep 2012

0 votes

You don't need to type run. Just the name of the script will cause the script to execute.

9 Comments

Tom
Tom on 11 Sep 2012
so in the same place that i currently have the file name, but without run?
Matt Fig
Matt Fig on 11 Sep 2012
Yes. Note that if BalanceSetup is a script and not a function then any variables created by the script will exist in the callback workspace, not the base workspace. If this is the last line of the callback, as you seem to show, then those variables will disappear once the callback is done. If this is fine, then proceed. If you expect those variables to appear in the base workspace, then you will need to do something else.
Tom
Tom on 11 Sep 2012
Thank you!
James
James on 24 Jun 2013
If Tom were to expect those variables to exist in the base workspace, what would have have to do?
doc evalin
or
doc assignin
But we generally recommend against this
Thankyou guys for the information...
Tadgh
Tadgh on 15 Jan 2014
How do i create a file labelled start that will run a script file once selected. Everything else is run from the script file but its a model so i would like the user not to have to see all the code behind it?
Any help would be greatly appreciated...
Tadgh
Tadgh on 16 Jan 2014
Yes but I can't get it to work using what is discussed in that thread. I was hoping if somebody else had another idea on how to get it to work.
Thanks

Sign in to comment.

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Products

Asked:

Tom
on 11 Sep 2012

Commented:

on 16 Jan 2014

Community Treasure Hunt

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

Start Hunting!