Utilisation des fonctions de comparaison

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 les fonctions de Comparaison pour comparer des valeurs numériques, des chaînes, des valeurs booléennes, des tableaux et des clusters. La plupart des fonctions de comparaison testent une entrée ou comparent deux entrées et renvoient une valeur booléenne.

Comparaison de valeurs numériques

La plupart des fonctions de Comparaison testent une entrée ou comparent deux entrées et renvoient une valeur booléenne. Les fonctions convertissent les nombres à la même représentation avant de les comparer. Les fonctions convertissent chaque entrée dans la plus grande représentation nécessaire pour effectuer une comparaison précise. Les comparaisons d'une ou deux entrées qui ont la valeur Pas un nombre (NaN) renvoient un résultat indiquant une inégalité.

Certains nombres réels ne peuvent pas être représentés par les nombre à virgule flottante de la norme ANSI/IEEE. De ce fait, les comparaisons qui utilisent des nombres à virgule flottante peuvent produire des résultats inattendus à cause d'erreurs d'arrondi.

Comparaison de chaînes

Les fonctions de comparaison comparent les chaînes selon les valeurs des codes de caractères ASCII. Les fonctions de comparaison comparent les chaînes à raison d'un élément à la fois, en commençant par l'élément d'indice 0 et jusqu'à ce qu'elles rencontrent une inégalité ou qu'une chaîne se termine. Les fonctions traitent la chaîne la plus longue comme étant supérieure à la chaîne la plus courte.

Par exemple, a (qui a la valeur décimale 97) est supérieur à A (65), qui est supérieur au chiffre 0 (48), qui est supérieur au caractère espace (32). LabVIEW compare les caractères un par un à partir du début de la chaîne jusqu'à ce qu'il trouve une différence, auquel cas il interrompt la comparaison. Par exemple, LabVIEW évalue les chaînes abcd et abef jusqu'à ce qu'il trouve c, qui est inférieur à la valeur de e. Lorsqu'une chaîne comporte un caractère de plus, elle est considérée comme supérieure à la deuxième chaîne. Ainsi, la chaîne abcd est supérieure à abc parce que la première chaîne est plus longue.

Les fonctions qui testent la catégorie d'un caractère de chaîne, comme les fonctions Chiffre décimal ? et Imprimable ?, n'évaluent que le premier caractère de la chaîne.

Comparaison de valeurs booléennes

Les fonctions de Comparaison traitent la valeur booléenne VRAI comme étant supérieure à la valeur booléenne FAUX.

Comparaison de tableaux et de clusters

Certaines fonctions de Comparaison comportent deux modes de comparaison de tableaux et de clusters de données. Dans le mode Comparer des ensembles, si vous comparez deux tableaux ou clusters, la fonction renvoie une seule valeur booléenne. Dans le mode Comparer des éléments, la fonction compare individuellement les éléments et renvoie un tableau de valeurs booléenne.

En mode Comparer des ensembles, les opérations de comparaison de chaînes et de comparaison de tableaux suivent exactement la même procédure, à savoir la chaîne est traitée comme un tableau de caractères ASCII.

Remarque  La fonction Max. et min. se comporte différemment des autres fonctions de comparaison. La fonction Max. et min. renvoie soit l'élément ou le tableau maximum, soit l'élément ou le tableau minimum, en fonction du mode et de la sortie que vous spécifiez.

Cliquez avec le bouton droit sur une fonction de comparaison et sélectionnez Mode de comparaison» Comparer des éléments ou Mode de comparaison» Comparer des ensembles dans le menu local pour changer le mode de la fonction. Certaines fonctions de comparaison ne fonctionnent qu'en mode Comparer des ensembles et, par conséquent, les options de menu local ne s'affichent pas.

Tableaux

Lorsque vous comparez des tableaux multidimensionnels, tous les tableaux entrés dans la fonction doivent être de la même dimension. Les fonctions de comparaison qui fonctionnent uniquement en mode Comparer des ensembles comparent les tableaux de la même manière qu'elles comparent les chaînes, c'est-à-dire un élément à la fois jusqu'à ce qu'elles rencontrent une inégalité et en commençant par le premier élément.

Mode Comparer des éléments

En mode Comparer des éléments, les fonctions de comparaison renvoient un tableau de valeurs booléennes de même dimension que les tableaux en entrée. Chaque dimension du tableau en sortie est de la taille du plus petit des deux tableaux en entrée dans cette dimension. Au même titre que pour chaque dimension (ligne, colonne, ou page), les fonctions comparent les valeurs des éléments correspondants dans chaque tableau en entrée pour produire la valeur booléenne correspondante dans le tableau en sortie.

Mode Comparer des ensembles

En mode Comparer des ensembles, les fonctions de comparaison renvoient un seul résultat booléen après avoir comparé les éléments d'un tableau. Les fonctions de comparaison comparent les éléments en séquence jusqu'à ce qu'une décision soit prise, de façon similaire au classement alphabétique des mots, qui compare les lettres de chaque mot jusqu'à ce qu'une inégalité soit trouvée. LabVIEW effectue les opérations suivantes pour déterminer le résultat de la comparaison :

  • LabVIEW compare les éléments correspondants dans chaque tableau en entrée, en partant du début du tableau.
  • Si les éléments correspondants ne sont pas égaux, la fonction s'arrête : elle renvoie le résultat de cette comparaison.
  • Si les éléments correspondants sont égaux, la fonction de comparaison traite la paire de valeurs suivante, jusqu'à ce qu'elle trouve une inégalité ou atteigne la fin d'un des tableaux en entrée.
  • Si toutes les valeurs dans les tableaux en entrée sont égales, mais que l'un des tableaux comporte des éléments supplémentaires, le tableau le plus long est considéré comme étant supérieur à l'autre. Par exemple, une fonction de comparaison considère que le tableau [1,2,3,2] est supérieur au tableau [1,2,3].
Remarque  La fonction Dans la gamme ? ne se comporte pas de la même manière que les autres fonctions de comparaison dans le mode Comparer des ensembles car elle requiert trois entrées. Après avoir comparé le premier ensemble d'éléments, la fonction ne traite l'ensemble de valeurs suivant que si les trois entrées sont égales : limite supérieure, limite inférieure et x. Sinon, la fonction renvoie le résultat de la comparaison du premier ensemble d'éléments.

Clusters

Les clusters que vous comparez doivent comporter le même nombre d'éléments, les types d'éléments doivent être compatibles et les éléments doivent être dans le même ordre de cluster. Par exemple, vous pouvez comparer un cluster composé d'un DBL et d'une chaîne à un cluster composé d'un I32 et d'une chaîne.

Mode Comparer des éléments

En mode Comparer des éléments, les fonctions de comparaison renvoient un cluster d'éléments booléens, un pour chaque élément correspondant dans les clusters d'entrée.

Mode Comparer des ensembles

En mode Comparer des ensembles, les fonctions de comparaison renvoient un seul résultat booléen après avoir comparé les éléments d'un cluster. Les fonctions de comparaison comparent les éléments en séquence jusqu'à ce qu'une décision soit prise, de façon similaire au classement alphabétique des mots, qui compare les lettres de chaque mot jusqu'à ce qu'une inégalité soit trouvée. LabVIEW effectue les opérations suivantes pour déterminer le résultat de la comparaison :

  • LabVIEW compare les éléments correspondants dans chaque cluster d'entrée, en partant du début du cluster.
  • Si les éléments correspondants ne sont pas égaux, la fonction s'arrête : elle renvoie le résultat de cette comparaison.
  • Si les éléments sont égaux, la fonction de comparaison traite la paire de valeurs suivante, jusqu'à ce qu'elle trouve une inégalité ou atteigne la fin de l'un des clusters d'entrée.
  • Si toutes les valeurs dans les clusters d'entrée sont égales, mais que l'un des clusters comporte des éléments supplémentaires, le custer le plus grand est considéré comme étant supérieur à l'autre. Par exemple, une fonction de comparaison considère que le cluster [1,2,3,2] est plus grand que le cluster [1,2,3].
Remarque  La fonction Dans la gamme ? ne se comporte pas de la même manière que les autres fonctions de comparaison dans le mode Comparer des ensembles car elle requiert trois entrées. Après avoir comparé le premier ensemble d'éléments, la fonction ne traite l'ensemble de valeurs suivant que si les trois entrées sont égales : limite supérieure, limite inférieure et x. Sinon, la fonction renvoie le résultat de la comparaison du premier ensemble d'éléments.

Utilisez le mode Comparer des ensembles sur des clusters si vous comparez deux enregistrements contenant des données classées, dans lesquels les éléments récents du cluster sont considérés comme des clés secondaires par rapport aux éléments plus anciens. Par exemple, si vous comparez un cluster contenant deux chaînes, une pour le nom de famille suivie d'une autre pour le prénom, la fonction ne compare les champs correspondant au prénom que si les champs correspondant au nom de famille sont identiques.

Comparaison de références

LabVIEW compare des références de VI Serveur à l'aide des fonctions de comparaison Égaux ? et Différents ?. Vous pouvez utiliser ces fonctions de comparaison pour comparer un tableau ou un cluster d'un certain type de données à un scalaire du même type pour produire un tableau ou un cluster de valeurs booléennes. Lorsque vous comparez des références d'objets LabVIEW, ces fonctions renvoient VRAI ou FAUX suivant que les deux références se rapportent au même objet, qu'elles aient ou non la même capacité ou la même valeur. Comme il peut y avoir plusieurs références au même objet, elles peuvent avoir différentes valeurs entières, mais se référer quand même au même objet. Les capacités de deux références peuvent aussi être différentes, même si elles se réfèrent au même objet. Par exemple, si l'une des références est authentifiée alors que l'autre ne l'est pas, ces deux références auront des capacités différences, mais se référer au même objet.

Par exemple, une référence de VI Serveur peut être une référence stricte à une commande numérique et l'autre peut être une référence générique, mais si elles se rapportent toutes les deux au même objet, elles sont égales. De même, lorsque deux références se rapportent au même objet, mais que l'une d'elles est authentifiée et l'autre pas, cette fonction renvoie toujours VRAI. Toutefois, si vous avez une référence locale et une référence distante à un même objet LabVIEW, la fonction Égaux ? renvoie FAUX.

Comparaison de données variant

Pour comparer des données variant, le type de données, la valeur, le ou les noms d'attributs et la ou les valeurs d'attributs doivent être identiques pour que les données soient considérées égales.

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

Pas utile