This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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

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 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 field name 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     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. For more information, see Variable Names.