Fonction Strcmp dans Matlab

Fonction Strcmp dans Matlab
L'article suivant explique comment utiliser la fonction STRCMP dans MATLAB® pour comparer deux chaînes, des tableaux de cellules de vecteurs de caractère, des vecteurs de caractères ou des tableaux de chaînes de caractère.

La fonction STRCMP est largement utilisée et fait partie des bibliothèques standard de tous les langages de programmation populaires dans le monde, et son mode d'exécution est le même pour tous.

Cet article contient des exemples pratiques et des captures d'écran qui montrent comment vous pouvez utiliser cette fonction avec différents types d'arguments d'entrée. Nous vous montrerons également certaines des erreurs les plus courantes générées par cette fonction, les messages d'erreur correspondants et comment les résoudre pour faciliter la programmation.

Syntaxe

l = strcmp (s1, s2)

Description et exemples

La fonction STRCMP () Fonction compare deux chaînes de caractères «S1» et «S2» et renvoie un résultat logique dans «L», true (1) si «S1» et «S2» sont identiques ou faux (0) si les chaînes «S1» et «S2» sont différents. Avec cette fonction, l'ordre des entrées n'affecte pas le résultat de la comparaison.

Les arguments d'entrée que cette fonction acceptent peuvent être des chaînes de caractères, des réseaux de cellules de vecteurs de caractères, des vecteurs de caractères ou des tableaux de chaîne de caractères, et il prend en charge les jeux de caractères internationaux. Si «S1» et «S2» sont des tableaux de chaînes ou des tableaux de cellules de vecteurs de caractère, alors «S1» et «S2» doivent avoir la même taille ou une taille compatible à moins que l'un d'entre eux ne soit un scalaire. Si S1 et S2 sont des tableaux de caractères avec plusieurs lignes, alors «S1» et «S2» peuvent avoir un nombre différent de lignes.

Comment comparer deux chaînes de caractère pures.

L'exemple suivant montre la façon la plus simple d'utiliser cette fonction lorsque les arguments d'entrée sont deux scalaires de chaîne. Comme indiqué ci-dessous, les chaînes sont les mêmes dans le premier cas, de sorte que la fonction STRCMP renvoie un «1» logique dans «L."Les chaînes de caractère sont différentes dans le deuxième cas, et la fonction StrcMP renvoie un" 0 "logique dans" L."

L = strcmp ("équivalent", "équivalent")
L = strcmp ("n'est pas équivalent", "équivalent")

Si "S1" et "S2" sont égaux, la fonction strcmp () renvoie logique 1 dans "L" et si "S1" et "S2" ne sont pas égaux, il renvoie logique 0 dans "L".

Comment comparer deux scalaires de cordes.

Ensuite, nous examinerons comment appeler la fonction strcmp () en envoyant des scalaires de caractère comme arguments d'entrée au lieu de chaînes simples. Nous créons des vecteurs «S1» et «S2» pour ce faire. Il en va de même pour les tableaux de vecteurs de caractère ou des tableaux de chaînes.

S1 = 'équivalent';
s2 = 'équivalent';
L = strcmp (s1, s2)

En conséquence, il renverra un logique 1.

Comment utiliser la fonction STRCMP pour rechercher une chaîne de caractères dans un tableau de chaînes.

Il est également possible de trouver la chaîne de caractères contenue dans «S1» dans un tableau cellulaire de vecteurs de caractères ou de réseaux de chaîne en utilisant la fonction StrcMP. Cela compare la chaîne contenue dans «S1» avec chacun des éléments de «S2».

S1 = 'équivalent';
s2 = 'équivalent', 'pas équivalent', 'non équivalent';
«Équivalent», «non équivalent», «équivalent»;
«Équivalent», «non équivalent», «équivalent»;
Lc = strcmp (s1, s2)

En conséquence, la fonction STRCMP renverra un tableau «LC» d'éléments logiques de vrai (1) ou false (0) dans l'ordre et la taille de «S2».

LC =
1 0 0
1 0 1
1 0 1

Que se passe-t-il si nous voulons comparer deux chaînes de caractères avec un tableau?

Dans l'exemple ci-dessus, la fonction strcmp () a été envoyée avec un seul scalaire comme argument d'entrée dans "S1" pour trouver la chaîne correspondante dans "S2". Dans cet exemple, «S1» est envoyé avec deux chaînes, de sorte que la règle de taille compatible du tableau n'est pas respectée.

s1 = 'équivalent', 'pas équivalent';
s2 = 'équivalent', 'pas équivalent', 'non équivalent';
«Équivalent», «non équivalent», «équivalent»;
«Équivalent», «non équivalent», «équivalent»;
Lc = strcmp (s1, s2)

Dans ce cas, Strcmp () renverra le message d'erreur suivant:

«L'erreur à l'aide des entrées STRCMP doit être de la même taille ou l'une ou l'autre peut être un scalaire."

Comment utiliser la fonction strcmp () pour comparer deux tableaux de cellules de vecteurs de caractères.

Cet exemple montre comment vous pouvez utiliser la fonction STRCMP pour comparer deux tableaux de cellules de vecteurs de caractères.

S1 = 'équivalent', 'équivalent'; «Équivalent», «équivalent»;
S2 = 'équivalent', 'équivalent'; «N'est pas équivalent», «pas équivalent»;
lc = strcmp (s1, s2)

En conséquence, il renverra un tableau logique de la même taille et de la même commande que «S1» ou «S2».

LC =
1 1
0 0

De plus, dans ce cas, les arguments d'entrée doivent être des tableaux de cellules de vecteurs de caractère de la même taille; Sinon, la fonction strcmp () renvoie le message d'erreur suivant:

«L'erreur à l'aide des entrées STRCMP doit être de la même taille ou l'une ou l'autre peut être un scalaire."

Comment comparer deux tableaux de chaîne à l'aide de la fonction STRCMP.

Nous allons maintenant voir comment comparer les tableaux de chaîne avec la fonction STRCMP. Pour cela, nous créerons les tableaux «S1» et «S2» avec des éléments 3 × 3.

S1 = ["est égal", "pas équivalent", "équivalent"];
S2 = ["est égal", "équivalent", "équivalent"];
Lc = strcmp (s1, s2)

En conséquence, il renverra un tableau logique de la même taille et de la même commande que «S1» ou «S2».

LC =
1 0 1

Comment comparer deux chaînes de caractères à l'aide d'opérateurs relationnels dans MATLAB.

Les opérateurs peuvent également être utilisés pour effectuer des opérations sur des chaînes. Les règles de taille et de compatibilité pour les tableaux sont les mêmes que pour StrCMP.

Ensuite, nous vous montrerons une autre façon de comparer les chaînes de caractères est d'utiliser l'opérateur relationnel «==.«La syntaxe est la suivante:
L = S1 == S2.

S1 = ["est égal", "pas équivalent", "équivalent"];
S2 = ["est égal", "équivalent", "équivalent"];
LC = S1 == S2

Conclusion:

Cet article a expliqué comment utiliser les fonctions de base MATLAB pour comparer les chaînes à l'aide de la fonction strcmp (). Nous avons également donné quelques exemples pratiques avec des images montrant comment utiliser ces fonctionnalités. Nous avons expliqué certaines des erreurs les plus courantes avec leurs messages et solutions respectifs pour faciliter votre programmation. Nous avons également détaillé les types d'arguments d'entrée pris en charge par cette fonction et le type de données accepté. Nous espérons que vous avez trouvé cet article MATLAB utile. Consultez d'autres articles sur les conseils Linux pour plus de conseils et d'informations.