[MATLAB] comparer des éléments d'une cellule
Sinistro
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
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
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Bureautique
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à.
++