Contenu principal

Vecteurs et matrices dans des diagrammes Stateflow

Les vecteurs et les matrices combinent des données scalaires en un seul objet de données multidimensionnel. Vous pouvez modifier des éléments particuliers ou appliquer des opérations arithmétiques à des vecteurs et matrices tout entiers. Pour plus d’informations, veuillez consulter Opérations pour les vecteurs et matrices dans Stateflow.

Définir des données matricielles et vectorielles

  1. Ajoutez un objet de données à votre diagramme, tel que décrit dans Ajouter des données Stateflow.

  2. Définissez la propriété Size pour l’objet de données comme les dimensions du vecteur ou de la matrice. Consultez Specify Size of Stateflow Data. Par exemple :

    • Pour spécifier un vecteur colonne 4 par 1, saisissez 4.

    • Pour spécifier un vecteur ligne 1 par 4, saisissez [1 4].

    • Pour spécifier une matrice 3 par 3, saisissez [3 3].

  3. Définissez la propriété Initial value pour l’objet de données. Consultez Initial value.

    • Pour spécifier une valeur nulle pour tous les éléments du vecteur ou de la matrice, laissez le Initial value vide. Si vous ne spécifiez pas de valeur initiale, tous les éléments sont initialisés à 0.

    • Pour spécifier la même valeur pour tous les éléments du vecteur ou de la matrice, entrez une valeur scalaire. Tous les éléments sont initialisés à la valeur scalaire spécifiée.

    • Pour spécifier une valeur différente pour chaque élément du vecteur ou de la matrice, entrez un tableau de valeurs réelles. Par exemple :

      • Pour initialiser un vecteur colonne 4 par 1, vous pouvez saisir [1; 2; 3; 4].

      • Pour initialiser un vecteur ligne 1 par 4, vous pouvez saisir [1 2 3 4].

      • Pour initialiser une matrice 3 par 3, vous pouvez saisir [1 2 3; 4 5 6; 7 8 9].

  4. Définissez le nom, la portée, le type de base et d’autres propriétés pour l’objet de données, tel que décrit dans Set Data Properties.

Vous pouvez spécifier la taille et la valeur initiale d’un vecteur ou d’une matrice avec une expression. Les expressions peuvent contenir un mélange de valeurs numériques, de constantes, de paramètres, de variables, d’opérations arithmétiques et d’appels à des fonctions MATLAB®. Pour plus d’informations, veuillez consulter Specify Data Properties by Using MATLAB Expressions.

Où pouvez-vous utiliser les vecteurs et matrices ?

Vous pourrez définir les vecteurs et matrices aux niveaux suivants de la hiérarchie Stateflow® :

  • Diagrammes

  • Sous-diagrammes

  • États

  • Fonctions

Vous pouvez utiliser les vecteurs et matrices pour définir :

  • Les données d’entrée

  • Les données de sortie

  • Les données locales

  • Les entrées de fonction

  • Les sorties de fonction

Vous pouvez également utiliser les vecteurs et matrices comme arguments pour :

  • Les actions d’état

  • Les actions de transition

  • Les fonctions MATLAB

  • Les fonctions des tables de vérité

  • Les fonctions graphiques

  • Fonctions Simulink®

  • Les opérateurs de détection de changements

Règles pour les vecteurs et matrices dans les diagrammes Stateflow

Utiliser des opérandes de dimensions égales pour les opérations élément par élément

Si vous effectuez des opérations élément par élément sur des vecteurs ou des matrices de dimensions inégales, le diagramme génère une erreur de désadaptation de taille quand vous simulez le modèle. Pour plus d’informations, veuillez consulter Opérations pour les vecteurs et matrices dans Stateflow.

Ne pas définir des vecteurs et matrices avec le type de base ml

Le type de base ml ne supporte que des données scalaires. Si vous définissez un vecteur ou une matrice avec le type de base ml, le diagramme génère une erreur quand vous simulez le modèle. Pour plus d’informations, veuillez consulter ml Data Type.

Ne pas utiliser de nombres complexes pour définir les valeurs initiales des vecteurs et matrices

Si vous définissez un élément d’un vecteur ou d’une matrice avec un nombre complexe, le diagramme génère une erreur quand vous simulez le modèle. Vous pouvez définir les valeurs des vecteurs et des matrices comme des nombres complexes après initialisation. Pour plus d’informations, veuillez consulter Complex Data in Stateflow Charts.

Ne pas utiliser de vecteurs et matrices dans des opérateurs de logique temporelle

Puisque le temps est une quantité scalaire, vous ne pouvez pas utiliser un vecteur ou une matrice comme argument pour un opérateur de logique temporelle. Pour plus d’informations, veuillez consulter Control Chart Execution by Using Temporal Logic.

Voir aussi

Rubriques