Hauptinhalt

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

Vektoren und Matrizen in Stateflow-Diagrammen

Vektoren und Matrizen kombinieren skalare Daten zu einem einzigen mehrdimensionalen Datenobjekt. Sie können einzelne Elemente ändern oder Rechenoperationen mit ganzen Vektoren und Matrizen durchführen. Weitere Informationen finden Sie unter Operationen für Vektoren und Matrizen in Stateflow.

Definieren von Vektor- und Matrixdaten

  1. Fügen Sie Ihrem Diagramm ein Datenobjekt hinzu, wie unter Hinzufügen von Stateflow-Daten beschrieben.

  2. Legen Sie die Eigenschaft Size für das Datenobjekt als Dimensionen des Vektors oder der Matrix fest. Siehe Specify Size of Stateflow Data. Beispiel:

    • Um einen 4-mal-1-Spaltenvektor anzugeben, geben Sie 4 ein.

    • Um einen 1-mal-4-Zeilenvektor anzugeben, geben Sie [1 4] ein.

    • Um eine 3-mal-3-Matrix anzugeben, geben Sie [3 3] ein.

  3. Legen Sie die Eigenschaft Initial value für das Datenobjekt fest. Siehe Initial value.

    • Um für alle Elemente des Vektors oder der Matrix den Wert Null festzulegen, lassen Sie den Initial value leer. Wenn Sie keinen Anfangswert angeben, werden alle Elemente auf 0 initialisiert.

    • Um für alle Elemente des Vektors oder der Matrix denselben Wert festzulegen, geben Sie einen Skalarwert ein. Alle Elemente werden auf den von Ihnen angegebenen Skalarwert initialisiert.

    • Um für jedes Element des Vektors oder der Matrix einen anderen Wert festzulegen, geben Sie ein Array mit realen Werten ein. Beispiel:

      • Um einen 4-mal-1-Spaltenvektor zu initialisieren, können Sie [1; 2; 3; 4] eingeben.

      • Um einen 1-mal-4-Zeilenvektor zu initialisieren, können Sie [1 2 3 4] eingeben.

      • Um eine 3-mal-3-Matrix zu initialisieren, können Sie [1 2 3; 4 5 6; 7 8 9] eingeben.

  4. Legen Sie den Namen, den Umfang, den Basistyp und andere Eigenschaften für das Datenobjekt fest, wie unter Set Data Properties beschrieben.

Sie können die Größe und den Anfangswert eines Vektors oder einer Matrix mithilfe eines Ausdrucks angeben. Ausdrücke können eine Mischung aus numerischen Werten, Konstanten, Parametern, Variablen, arithmetischen Operationen und Aufrufen von MATLAB®-Funktionen enthalten. Weitere Informationen finden Sie unter Specify Data Properties by Using MATLAB Expressions.

Wo Sie Vektoren und Matrizen verwenden können

Sie können Vektoren und Matrizen auf diesen Ebenen der Stateflow®-Hierarchie definieren:

  • Diagramme

  • Unterdiagramme

  • Zustände

  • Funktionen

Sie können mit Vektoren und Matrizen Folgendes definieren:

  • Eingabedaten

  • Ausgabedaten

  • Lokale Daten

  • Funktionseingaben

  • Funktionsausgaben

Sie können auch Vektoren und Matrizen als Argumente verwenden für:

  • Zustandsaktionen

  • Übergangsaktionen

  • MATLAB-Funktionen

  • Wahrheitstabellenfunktionen

  • Grafikfunktionen

  • Simulink®-Funktionen

  • Operatoren zur Erkennung von Änderungen

Regeln für Vektoren und Matrizen in Stateflow-Diagrammen

Verwenden von Operanden gleicher Dimensionen für elementweise Operationen

Wenn Sie elementweise Operationen an Vektoren oder Matrizen mit ungleichen Dimensionen durchführen, generiert das Diagramm bei der Simulation des Modells einen Größenkonfliktfehler. Weitere Informationen finden Sie unter Operationen für Vektoren und Matrizen in Stateflow.

Definieren von Vektoren und Matrizen mit dem Basistyp ml

Der Basistyp ml unterstützt nur skalare Daten. Wenn Sie einen Vektor oder eine Matrix mit dem Basistyp ml definieren, generiert das Diagramm einen Fehler, wenn Sie das Modell simulieren. Weitere Informationen finden Sie unter ml Data Type.

Vermeiden der Verwendung komplexer Zahlen zur Festlegung der Anfangswerte von Vektoren und Matrizen

Wenn Sie ein Element eines Vektors oder einer Matrix mit einer komplexen Zahl initialisieren, generiert das Diagramm einen Fehler, wenn Sie das Modell simulieren. Sie können die Werte von Vektoren und Matrizen nach der Initialisierung auf komplexe Zahlen setzen. Weitere Informationen finden Sie unter Complex Data in Stateflow Charts.

Vermeiden der Verwendung von Vektoren und Matrizen in Operatoren der temporalen Logik

Da Zeit eine skalare Größe ist, können Sie keinen Vektor oder keine Matrix als Argument für einen temporalen Logikoperator verwenden. Weitere Informationen finden Sie unter Ausführung von Steuerungsdiagrammen mithilfe der zeitlichen Logik.

Siehe auch

Themen