Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Save base workspace MAT file from GUI

Asked by Jason on 18 Nov 2011

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?

0 Comments

Jason

Products

No products are associated with this question.

2 Answers

Answer by Jan Simon on 18 Nov 2011
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

Jason on 18 Nov 2011

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?

Jan Simon on 18 Nov 2011

FileName = 'test.mat';
evalin('base', ['save(''', FileName ''')']);

Jason on 19 Nov 2011

Thanks Jan, you rock!

Jan Simon
Answer by Naz on 19 Nov 2011

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

2 Comments

Jason on 19 Nov 2011

Thanks Naz.

Mohamed Sarillee on 31 Jan 2013

thank you.... :-)

Naz

Contact us