Utilisation des matrices

Aide LabVIEW 2014

Date d'édition : June 2014

Numéro de référence : 371361L-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Utilisez le type de données matriciel au lieu d'un tableau 2D pour représenter des données matricielles car le type de données enregistre les lignes et les colonnes de données de type scalaire complexe ou réel pour les opérations matricielles, particulièrement pour certaines opérations d'algèbre linéaire. Les VIs de la palette Mathématiques qui réalisent des opérations sur les matrices acceptent le type de données matrice et renvoient les résultats sous forme de matrices, ce qui permet aux fonctions et VIs polymorphes en aval dans le flux de données de réaliser des opérations spécifiques aux matrices. Si un VI de la palette Mathématiques n'effectue pas d'opérations matricielles mais accepte le type de données matriciel, ce VI convertit automatiquement le type de données matriciel en tableau 2D. Si vous câblez un tableau 2D à un VI qui réalise par défaut des opérations sur les matrices, ce VI convertit automatiquement le tableau 2D en une matrice complexe ou réelle, selon le type de données du tableau 2D.

La plupart des fonctions de la palette Numérique supportent le type de données matrice ainsi que les opérations sur les matrices. Par exemple, vous pouvez utiliser la fonction Multiplier pour multiplier une matrice par une autre matrice ou par un nombre. Vous pouvez associer des types de données numériques basiques et des fonctions d'algèbre linéaire complexes pour créer des algorithmes numériques qui effectuent des opérations matricielles précises.

Remarque   Les Points de coercition apparaissent sur les VIs et les fonctions lorsqu'une fonction ou un VI convertit des données de type matrice en tableau 2D et vice versa. Ce type de conversion de données n'affecte pas les performances car LabVIEW enregistre les matrices de la même façon qu'il enregistre les tableaux 2D.

Une matrice réelle contient des éléments à double précision et une matrice complexe contient des éléments complexe se composant eux-mêmes d'éléments à double précision. Une matrice ne peut avoir que deux dimensions. Vous ne pouvez pas créer un tableau de matrices. Utilisez la fonction Assembler pour combiner deux matrices ou plus et créer un cluster. Les matrices sont soumises aux mêmes restrictions que les tableaux.

Utilisez les fonctions Matrice pour manipuler des éléments, des lignes et des colonnes dans une matrice. Les fonctions Matrice renvoie des types de données matrice. Par exemple, extraire une ligne ou une colonne d'une matrice avec la fonction Obtenir les éléments d'une matrice produit une matrice d'une ligne ou colonne d'un tableau 1D de valeurs scalaires. Combiner cette matrice avec d'autres tableaux avec la fonction Construire une matrice produit une matrice plutôt qu'un tableau 2D de valeurs scalaires.

Tous les VIs que vous construisez susceptibles de réduire la dimension d'une matrice exigent que convertissiez les données en tableau 1D ou en nombre complexe, à double précision ou à virgule flottante. Si vous utilisez le tableau 1D ou ou un tel nombre pour reconstruire une structure 2D, LabVIEW crée un tableau 2D plutôt que la matrice d'origine.

Le diagramme suivant utilise l'auto-indexation dans une boucle For afin d'extraire des données d'une matrice et de reconstruire celle-ci sous forme de tableau 2D.

Si l'auto-indexation est activée, la boucle For traite les matrices comme des tableaux 2D. Si, à un point particulier d'un VI, vous devez utiliser le type de données matrice en entrée, convertissez le tableau 2D en matrice à l'aide de la fonction Tableau en matrice, comme le montre le diagramme suivant.

Pour conserver le type de données matrice, désactivez l'auto-indexation et utilisez des registres à décalage. Par exemple, le diagramme suivant utilise des registres à décalage pour garder les deux dimensions et le type de données de la matrice. Les registres à décalage font passer le type de données matrice entre itérations.

De nombreuses fonctions polymorphes qui acceptent le type de données matrice renvoient le type de données matrice, même si l'opération elle-même est une opération qui implique des tableaux. Si une fonction ou un sous-VI dans un diagramme convertit un type de données matrice en tableau 2D et que les opérations qui suivent dans le flux de données sont des opérations impliquant des tableaux, laisser la conversion en tableau se dérouler, manipulez les données de type tableau et convertissez ensuite le tableau en matrice à l'aide de la fonction Tableau en matrice si la nécessité se présente, comme par exemple, quand vous utilisez les VIs Algèbre linéaire.

Remarque  Si un diagramme comprend des sous-VIs qui acceptent les types de données matrice, mais qui renvoient des tableaux 2D, vous n'avez pas besoin de convertir les tableaux obtenus en matrice avant de les câbler à des VIs ou des fonctions polymorphes qui acceptent par défaut le type de données matrice. Si vous devez enregistrer les données en tant que matrice, utilisez la fonction Tableau en matrice afin de reconvertir les données en matrice.

Création de commandes, d'indicateurs et de constantes matrice

Par défaut, les commandes et indicateurs matrice représentent plus d'un élément et affichent des barres de défilement pour les deux dimensions. Comme une commande matrice est une définition de type, les menus locaux des commandes matrice ne comprennent pas les options Ajouter une dimension ni Supprimer une dimension et incluent les options de définition de type. Pour créer une constante matrice sur le diagramme, sélectionnez une commande matrice sur la palette Commandes et placez-la sur le diagramme, ou créez une constante à partir d'un terminal de matrice. Vous pouvez utiliser une constante matrice pour enregistrer les données d'une constante ou pour effectuer une comparaison avec une autre matrice.

Sur le diagramme, le type de données matriciel ressemble à un tableau 2D de réels ou à un type de données de tableau 2D avec un modèle de fils de liaison différent. Les fonctions et les VIs qui acceptent le type de données matriciel supportent automatiquement les opérations propres aux matrices lorsque vous câblez un type de données matriciel en entrée.

Lorsque vous câblez un type de données matriciel en entrée à l'une des fonctions suivantes, un VI comprenant des sous-VIs qui fonctionnent avec le type de données matriciel remplace la fonction :

Le VI résultant a la même icône mais contient un algorithme propre à la matrice. Le nœud demeure un VI si vous déconnectez la matrice des entrées. Câblez d'autres types de données en entrée pour restaurer la fonction. Si vous câblez un type de données à une fonction et que ce type de données provoque l'échec d'une opération mathématique élémentaire, la fonction renvoie une matrice vide ou NaN. Par exemple, si vous câblez une matrice de dimension 2×3 à une entrée de la fonction Additionner, et que vous câblez ensuite une matrice 3×2 à l'autre entré, la fonction renvoie une matrice vide.

Comparaison de matrices

Utilisez les fonctions Égaux ? et Différents ? pour comparer des matrices. Ces fonctions fonctionnent en mode Comparer des ensembles pour les entrées de matrice et suivent les mêmes règles que pour la comparaison de tableaux.

Quand une fonction numérique qui accepte deux entrées ou plus reçoit une matrice et un tableau 2D en entrée, cette fonction renvoie le plus souvent un type de données matrice. La fonction effectue l'opération sur le tableau si la sortie qui est câblée au connecteur n'est pas un tableau 2D. Par exemple, si vous câblez une matrice réelle et un tableau 2D réel à la fonction Diviser, la fonction renvoie par défaut une matrice réelle en sortie contenant les résultats de la fonction. Si vous câblez une matrice réelle et un tableau 2D complexe, la fonction renvoie un tableau 2D complexe du fait que la sortie exige des éléments complexes. Dans le second cas, un point de coercition apparaît sur l'entrée à laquelle est câblée la matrice réelle pour indiquer que la fonction convertit la matrice réelle en tableau 2D complexe pour cette opération.

Tailles et valeurs par défaut de matrices

Vous ne pouvez pas limiter la taille d'une matrice à un nombre fixe d'éléments. Cependant, lorsque vous définissez les valeurs par défaut d'une commande matrice, vous pouvez définir la taille par défaut.

Ne changez pas la taille par défaut d'une matrice en une valeur plus grande que nécessaire. Si vous définissez une grande taille par défaut pour une matrice, les données par défaut pour chaque élément de la matrice sont enregistrées avec le VI et augmentent la taille du VI sur le disque.

Lorsque vous ajoutez une commande matrice à la face-avant, la commande représente initialement une matrice vide. Les dimensions sont à 0 et les éléments de la matrice sont grisés. Une commande matrice de la face-avant possède deux valeurs par défaut : une valeur de matrice par défaut (soit une valeur par défaut complexe, soit une valeur à virgule flottante) et une valeur de cellule par défaut.

La valeur par défaut de la matrice est similaire à la valeur par défaut de n'importe quelle commande de face-avant. Il s'agit de la valeur de la matrice lorsque le VI est chargé. Elle est également utilisée pour une matrice dans un sous-VI lorsque le VI appelant ne câble pas de valeur.

La valeur scalaire par défaut est la valeur utilisée pour combler la matrice lorsqu'elle s'étend. Par exemple, si vous créez un élément sur une ligne située au-delà de la portion de matrice définie, les éléments compris entre la fin de matrice définie précédemment et l'élément que vous ajoutez sont définis à la valeur scalaire par défaut.

Pour les fonctions Matrice, des valeurs apparaissent hors de la matrice d'origine ou du tableau 2D quand les fonctions effectuent une opération non valide. Dans le cas d'une opération non valide, les valeurs que LabVIEW renvoie ou entre dans des emplacements extérieurs dépendent des données et du type d'éléments de la matrice d'origine ou du tableau 2D. Les valeurs d'opérations non valides sont différentes de 0 (la valeur par défaut) qui apparaît quand une matrice s'étend.

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile