Map fields of a structure to output variables

Version 1.2.0.0 (553 Bytes) by Hoi Wong
The program assigns each field of a structure into output arguments.
985 Downloads
Updated 30 Mar 2009

No License

This is made in response to one of the comments in:
http://blogs.mathworks.com/loren/2008/01/24/deal-or-no-deal/

The program assigns each field of a structure into output arguments.

s =
a: 1
b: [1 2 4]
c: [5x2 double]
d: 'test'
e: {[3]}

>> [a b c d e]=struct2vars(s)

a =
1

b =
1 2 4

c =
0.8147 0.0975
0.9058 0.2785
0.1270 0.5469
0.9134 0.9575
0.6324 0.9649

d =
test

e =
[3]

A even better usage if you're trying to dump all your struct into the current workspace:
T=fieldnames(S);
[T{:}]=struct2vars(S);

Cite As

Hoi Wong (2024). Map fields of a structure to output variables (https://www.mathworks.com/matlabcentral/fileexchange/23254-map-fields-of-a-structure-to-output-variables), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Structures 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

Added this usage case in comments file:

T=fieldnames(S);
[T{:}]=struct2vars(S);

1.1.0.0

Modified tag to be more sensible. I mistakenly tagged it with a URL

1.0.0.0