Comparer 1 éléments avec plusieurs autres [Résolu/Fermé]

Signaler
-
Messages postés
9418
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
-
Bonjour,

J'aimerais savoir comment comparer un élément avec plusieurs autres. J'aimerais pouvoir avoir un truc du style : si 'X' = 'Y' ou 'Z' ou 'W',

J'ai ms ca mais ca fonctionne pas car la condition est TJR remplie quelque soit mes varargin.

if cell2mat([varargin(1),varargin(2),varargin(3),varargin(4)])==1115|1214,
...


Merci d'avance de votre aide,

Zedukia

4 réponses

Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 073
Salut,

en quel langage ?
Messages postés
9418
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 822
Salut
C'est Matlab, c'est cool la nouvelle mode, faut deviner les questions maintenant...
Ciao
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 073
Les questions plus les réponses, ça fait beaucoup...
Messages postés
9418
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 822
Oui ça fait beaucoup mais bon... c'est plus rigolo, qu'est-ce que tu veux...
Comme ça on passe parfois 1/2h à essayer de deviner une question qui demande en fait 5min pour répondre. :-D

Et pis c'est qu'un plus la ligne de code correspond ni à la demande ni au doublon.
Titre : Comparer 1 éléments avec plusieurs autres
Première phrase du message : J'aimerais savoir comment comparer un élément avec plusieurs autres.
Ligne de code : On se retrouve à tester une matrice O_o

Bref... si on fait comme s'il fallait tester si un nombre x (un numéro de fichier dans le sujet d'à côté) appartenait à une liste de nombres v qu'on supposera organisés en vecteur colonne, ça donnerait au choix...
if any(repmat(x,size(v))==v)
if size(find(repmat(x,size(v))==v),1)~=0
if size(find(repmat(x,size(v))~=v),1)==size(v,1)
if nonzeros(repmat(x,size(v))==v)
if logical(sum(repmat(x,size(v))==v))
if sum(repmat(x,size(v))~=v)~=size(v,1)
Messages postés
9418
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 822
On peut se passer des repmat en fait...
if any(x==v)
if size(find(x==v),1)~=0
if size(find(x~=v),1)==size(v,1)
if nonzeros(x==v)
if logical(sum(x==v))
if sum(x~=v)~=size(v,1)
Ciao