変数からフィールド名を生成
この例では、実行時に変数または式から構造体のフィールド名を導出する方法を示します。一般的な構文は次のとおりです。
structName.(dynamicExpression)
ここで、dynamicExpression は、評価されたときに string スカラーを返す変数または式です。式で参照するフィールド名は "動的なフィールド名" と呼ばれます。
たとえば、現在の日付からフィールド名を作成します。
currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]システムが報告する現在の日付が 2 月 29 日である場合、このコードによりデータは Feb29 と名付けられたフィールドに割り当てられます。
myStruct =
Feb29: [1 2 3]動的なフィールド名は、文字ベクトルまたは string スカラーを返すことができます。たとえば、一重引用符または二重引用符を使用して、フィールド Feb29 を指定できます。
myStruct.('Feb29')ans =
1 2 3myStruct.("Feb29")ans =
1 2 3フィールド名は変数名と同様にアルファベットで始めなければならず、その他のアルファベット文字、数字、またはアンダースコア文字を含むことができ、大文字と小文字は区別されます。フィールド名にピリオドを含めることはできません。潜在的な競合を避けるために、既存の変数または関数の名前をフィールド名として使用しないでください。
参考
struct | fieldnames | getfield | setfield