[MATLAB] comparer des éléments d'une cellule
Sinistro
Messages postés
10
Statut
Membre
-
yababas -
yababas -
Bonjour à tous,
Voilà, j'aimerais créer un programme MATLAB qui cherche dans une liste, un prénom voulu. Mes prénoms n'ont évidemment pas tous la même taille donc j'utilise un format cell pour ma variable 'liste'.
Le problème est que je ne peux pas comparer deux éléments d'une cellule : par ex: Function '==' is not defined for values of class 'cell'. Et la comparaison est bien sûre essentielle si je veux arriver à faire tourner mon programme.
Comment puis-je éviter ce problème ?
Merci d'avance
Voilà, j'aimerais créer un programme MATLAB qui cherche dans une liste, un prénom voulu. Mes prénoms n'ont évidemment pas tous la même taille donc j'utilise un format cell pour ma variable 'liste'.
Le problème est que je ne peux pas comparer deux éléments d'une cellule : par ex: Function '==' is not defined for values of class 'cell'. Et la comparaison est bien sûre essentielle si je veux arriver à faire tourner mon programme.
Comment puis-je éviter ce problème ?
Merci d'avance
A voir également:
- [MATLAB] comparer des éléments d'une cellule
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Excel cellule couleur si condition texte - Guide
- Bloquer une cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Comparer prix amazon - Guide
1 réponse
il faut utiliser la comande "strcmp".
Par exemple : si TAB est un cell array, :
BoolIdentique = strcmp(TAB{i},TAB{j})
BoolIdentique vaut true si les deux chaînes de caractères sont identiques. Et surtout, ça marche même si les deux chaînes ne sont pas de la même longueur.
Plus d'info sous help strcmp.
Liste des fonctions traitant des strings : help strfun
Par rapport aux cell, juste une précision :
Tu tapes : TAB{1} = 'Yababas';
Si tu fait X = TAB{1} (avec les accolages), alors X sera une chaine de caractère.
Si tu fait X = TAB(1) (avec des parenthèses), alors là X sera une cellule, contenant une chaîne de caractère.
C'est toute la finesse des cell array qui les rend si poétiques !
Voilà.
++
Par exemple : si TAB est un cell array, :
BoolIdentique = strcmp(TAB{i},TAB{j})
BoolIdentique vaut true si les deux chaînes de caractères sont identiques. Et surtout, ça marche même si les deux chaînes ne sont pas de la même longueur.
Plus d'info sous help strcmp.
Liste des fonctions traitant des strings : help strfun
Par rapport aux cell, juste une précision :
Tu tapes : TAB{1} = 'Yababas';
Si tu fait X = TAB{1} (avec les accolages), alors X sera une chaine de caractère.
Si tu fait X = TAB(1) (avec des parenthèses), alors là X sera une cellule, contenant une chaîne de caractère.
C'est toute la finesse des cell array qui les rend si poétiques !
Voilà.
++