[MATLAB] comparer des éléments d'une cellule
Fermé
Sinistro
Messages postés
9
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
3 mars 2019
-
16 févr. 2008 à 13:51
yababas - 22 févr. 2008 à 12:42
yababas - 22 févr. 2008 à 12:42
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
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Proteger cellule excel - Guide
- Faites en sorte que la cellule a1 affiche exactement ce qui est montré sur cette image. quel mot apparaît en b1 ? - Forum Excel
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à.
++