Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Generieren von Feldnamen aus Variablen

Dieses Beispiel zeigt, wie Sie den Namen eines Strukturfeldes zur Laufzeit aus einer Variablen oder einem Ausdruck ableiten. Die allgemeine Syntax lautet

structName.(dynamicExpression)

wobei dynamicExpression eine Variable oder ein Ausdruck ist, der bei der Auswertung einen Zeichenfolgen-Skalar zurückgibt. Feldnamen, auf die Sie mit Ausdrücken verweisen, werden als „dynamic fieldnames“ oder manchmal auch als „dynamic field names“ (dynamische Feldnamen) bezeichnet.

Erstellen Sie zum Beispiel einen Feldnamen aus dem aktuellen Datum:

currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]

Wenn das von Ihrem System gemeldete aktuelle Datum der 29. Februar ist, dann weist dieser Code einem Feld namens Feb29 Daten zu:

myStruct = 
    Feb29: [1 2 3]

Der dynamische Feldname kann entweder einen Zeichenvektor oder einen Zeichenfolgen-Skalar zurückgeben. Sie können zum Beispiel das Feld Feb29 mit einfachen oder doppelten Anführungszeichen angeben.

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

Feldnamen müssen wie Variablennamen mit einem Buchstaben beginnen, können Buchstaben, Ziffern oder Unterstriche enthalten und unterscheiden Groß- und Kleinschreibung. Feldnamen dürfen keine Punkte enthalten. Zur Vermeidung möglicher Konflikte verwenden Sie als Feldnamen nicht die Namen bestehender Variablen oder Funktionen.

Siehe auch

| | |

Themen