This example shows how to derive a structure field name at run time from a variable or expression. The general syntax is
structName.(dynamicExpression)
where dynamicExpression is a variable or expression that, when evaluated,
returns a character vector or, starting in R2017b, a string scalar. Field names that you
reference with expressions are called dynamic fieldnames, or
sometimes dynamic field names.
For example, create a field name from the current date:
currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]If the current date reported by your system is February 29,
then this code assigns data to a field named Feb29:
myStruct =
Feb29: [1 2 3]The dynamic fieldname can return either a character vector or a string scalar. For
example, you can specify the field Feb29 using either single or, starting
in R2017b, double quotes.
myStruct.('Feb29')ans =
1 2 3myStruct.("Feb29")ans =
1 2 3Field names, like variable names, must begin with a letter, can contain letters, digits, or underscore characters, and are case sensitive. To avoid potential conflicts, do not use the names of existing variables or functions as field names.
fieldnames | getfield | setfield | struct