Converting variables to structures, and vice versa
Jiro's pick this week is v2struct by Adi Navve.
I have a special liking for convenience/utility functions, because they make my life easier. For example, here's something that many users have probably learned to do early on:
plot(x, y, 'ro:')
Did you know that plot is a high-level, convenience function for a much more flexible, low-level function line?
line(x, y, 'Color', 'r', 'Marker', 'o', 'LineStyle', ':')
Adi's v2struct is a function that makes converting between structures and individual variables easier.
Variables to a Structure
Suppose you have a bunch of variables that you want to combine into a single structure:
aString = 'August 5, 2011';
aScalar = pi;
aVector = rand(1, 5);v2struct automatically uses the names of the variables as the field names:
s = v2struct(aString, aScalar, aVector)
s =
aString: 'August 5, 2011'
aScalar: 3.1416
aVector: [0.8407 0.2543 0.8143 0.2435 0.9293]
Structure to Variables
The function works the other way also. Suppose you have a structure like this:
s2 = struct('var1', 1, 'var2', [1 2 3], 'var3', 'hello')
s2 =
var1: 1
var2: [1 2 3]
var3: 'hello'
You can create variables from the fields of the structure:
v2struct(s2)
whos var*Name Size Bytes Class Attributes var1 1x1 8 double var2 1x3 24 double var3 1x5 10 char
In addition to these basic uses, v2struct provides advanced functionalities, such as
- creating structures with field names different from variable names
- updating fields of an existing structure
- extracting only specific fields of a structure
- extracting fields with a different variable name
What I also like about Adi's function is that there is a very extensive help section with lots of examples. I can see he has put in a lot of effort in making this easy to use.
Comments
- Category:
- Picks


Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.