Main Content

Generate Field Names from Variables

This example shows how to derive a structure field name at run time from a variable or expression. The general syntax is

结构体Name.(dynamicExpression)

wheredynamicExpressionis a variable or expression that, when evaluated, returns a string scalar. Field names that you reference with expressions are calleddynamic fieldnames, or sometimesdynamic 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 namedFeb29:

myStruct = Feb29: [1 2 3]

The dynamic fieldname can return either a character vector or a string scalar. For example, you can specify the fieldFeb29using either single or double quotes.

myStruct。('Feb29')
ans = 1 2 3
myStruct。("Feb29")
ans = 1 2 3

Field 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.

See Also

|||

Related Topics