Save base workspace MAT file from GUI

Guys -
I'm writing a GUI in which I'd like to put a pushbutton to save the entire base workspace to a .mat file. Problem is I don't know how to do that from the GUI subfunction workspace. Can anyone point me to the right approach or write a couple lines I can put in the pushbutton's callback function to save the base workspace as .mat?

 Accepted Answer

I do not think, that this method have enough control over what is written. But if you really want to save the base workspace to a MAT file:
evalin('base', 'save(''FileName.mat'')');

3 Comments

Thanks Jan, I was having trouble with the syntax in nesting the save command properly. Now, how do I do it if in a different location in my code I specify a filename string and I want to execute your line using a previously-defined filename?
FileName = 'test.mat';
evalin('base', ['save(''', FileName ''')']);
Thanks Jan, you rock!

Sign in to comment.

More Answers (1)

Here is what I would do: for saving a particular set of variables in the struct you can create a struct and save it:
structDATA=struct('your1var',handles.your1var,'your2var',handles.your2var);
save ('filename', 'structDATA');
If you want to save all the variables from handles, then just do:
save ('filename', 'handles');
I hope this will work

Asked:

on 18 Nov 2011

Community Treasure Hunt

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

Start Hunting!