MATLAB Answers

0

Getting external variables from GUI

Hi!
I want to know if there's some way for a GUI made with GUIDE to access external vars. (Or how to give the GUI these vars)
Thanks you a lot!

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Loginatorist on 18 May 2011
 Accepted Answer

Yes, there are many ways to do this. One way is to use EVALIN. Let's say you have a variable named g in the base workspace. Then in the callback to a pushbutton, put this:
g = evalin('base','g')
Another method is to store the variables you want in the GUIDATA structure of the GUI. See the help for GUIDATA to understand its use. Note that GUIDE GUIs are invisible to GCF, so you will have to use FINDALL to access the GUI handle from the base workspace. Perhaps easier would be to store the data in the userdata property of the root object.
set(0,'userdata',mydata); % At the command line or wherever
Then from in the GUI:
mydata = get(0,'userdata') % In a callback.

  1 Comment

Thanks you both for the help ;)

Sign in to comment.


Answer by Andy
on 18 May 2011

Another way is to save your data to a .mat file and load it in your GUI at runtime. Create a 'Load' button in your GUI, with callback like:
data = load(yourdatafile)
Then you also have the ability to save multiple different sessions and load different sessions into your GUI by asking the user for the data file to load.

  1 Comment

Thanks you both for the help ;)

Sign in to comment.