Save Workspace to Struct

Version 1.2.0.0 (1.56 KB) by Andres
This function allows to save all the variables from the current workspace into a struct array
2.1K Downloads
Updated 19 Apr 2012

View License

Sometimes you need to save the variables from your base workspace, but using "save" function will have them all stored individually so if you reload them into a new workspace it could be a mess, and some variables could be overwritten.
With this function, you can save all of them into a struct array, and so they'll be nicely packaged and ready to be saved to a .mat file that, when reloaded, will be easy to identify.

Example:
a='LALALA'
b=[1:12:258]
c={'cell1', 'cell2', 'cell3'}
d=768
e=true(3)
theworkspace=ws2struct();

theworkspace =

a: 'LALALA'
b: [1x22 double]
c: {'cell1' 'cell2' 'cell3'}
d: 768
e: [3x3 logical]

Cite As

Andres (2024). Save Workspace to Struct (https://www.mathworks.com/matlabcentral/fileexchange/36257-save-workspace-to-struct), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Workspace Variables and MAT-Files in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.2.0.0

Two little corrections, thanks to Jan Simon, this way the variables saved are not necessarily from the base workspace but from the current (caller) workspace:
WSVARS = evalin('caller', 'who');
THEWORKSPACE.(WSVARS{wscon}) = thisvar;

1.0.0.0