VIVEZ LE
FOOTBALL !

Posez votre question Signaler

[Matlab] Utilisation de la fonction or(a,b,c...) [Résolu]

weak007 10Messages postés 28 juin 2005Date d'inscription - Dernière réponse le 27 déc. 2006 à 19:20
bonjour,

j'aimerai realiser une operation du genre:
if ((x,y,z...une ou plusieurs de ses imputs) ==7)
serie de calcul...
M=[...,...,...];
else
M=[0;0;0;0;0;0];
end
mes inputs sont sous la forme de matrice: opaque(i,1) et window(i,1) avec i=1:9
Peut etre je peux faire ca avec la fonction OR, mais j'ai pas bien compris ce qu'elle renvoyait. Quelqu'un pourrait il m'eclairer SVP??
merci beaucoup
Lire la suite 

[Matlab] Utilisation de la fonction or(a,b,c...) »

11 réponses
Réponse
+0
moins plus
salut
tu peux faire un simple if x==7
tes calculs....
elseif y==7
tes calculs...
.
.
.
else M=[0,0,...]
c'est long mais ca marche!
tchuss
Ajouter un commentaire
Réponse
+0
moins plus
Salut le ou est | et le et est & sour Matlab 7

si x=7 ou y=7 => if( (x==7) | (y==7) )

if x=7 et y=7 => if( (x==7) & (y==7) )
weak007- 5 juil. 2005 à 10:01
merci mais ce que je voulais savoir,(ma question est mal posee)

c'est justement ce que me renvoie matlab quand je pose
x|y|z==7,
le 'ou' sur plusieurs variables signifie-t- il que seulement l'une de ces variables doit etre egale a 7, et dans le cas ou 2 des variables sont egale a 7 il me renvoie un message d'erreur???
merci
pom - 5 juil. 2005 à 11:02
Salut, il y a le ou exclusif et le ou inclusif.

Regarde la doc sur "xor" et "or"

mais je n'ai pas bien compris (je dois être long à comprendre) : tu veux faire un test si x ou y (mais pas les 2) valent 7 ou si x ou y (ou les 2) valent 7 ?
Ajouter un commentaire
Réponse
+0
moins plus
en fait j'ai 18 variables, si l'une ou plusieur d'entre elles sont egales a 7 (7 etant le code rendu par l'une de possibilite d'un popmenu d'une interface), je realise un calcul pour obtenir une matrice M...sinon je defini M comme une matrice nulle.

j'ai donc besoin de comparer toutes les variables et non 2 par 2, apparemment XOR et OR n'acceptent pas plus de 2 variables.
Mais te creuse pas trop la tete, Je crois que la reponse postee par lilou avec les if, elseif me convient!!
merci beaucoup
pom - 5 juil. 2005 à 13:31
re-salut,
le code de lilou est très bien mais il va vite être illisible.

tu as écrit : si l'une ou plusieur d'entre elles sont egales a 7 => ca ce code en 1 ligne :

if( (var1==7) | (var2==7) | ... | (var18==7) )
blabla1
else
blabla2
endif

point, c'est tout.

Le prgm est tel que dès qu'il y a une variable qui vaut 7 alors il fera le blabla1 (rien n'interdire que d'autres variables valent aussi 7 bien entendu)
Ajouter un commentaire
Réponse
+0
moins plus
effectivement c'est beaucoup plus court merci beaucoup.

Si t'as encore un peu de temps a m'accorder je te poserai bien une autre question, sinon je la mettrai directement sur le forum.
J'ai une interface, qui theoriquement devrait me permettre d'afficher des resultats de calculs dans un edittext grace a :

set(handles.Hglass,'string,Hglass)

mes calculs necessitent un load 'opk' et un load 'wdow' (2matrices)
Or des que j'insere ces load dans le script, matlab me dit:
non existant field 'Hglass'
il y a t il un moyen une fois les calculs termine, de decharger les variables pour me permettre d'atteindre le handle Hglass et d'afficher mon resultats??
(ou un moyen d'eviter les loads??)
encore merci, et si t'es pas competent la dessus je mettrais tout ca dans le forum...
pom - 5 juil. 2005 à 15:30
re-salut

je ne connais pas la commande set.
Quant aux load et save, je te propose la syntaxe suivante :

tes caluls ici
save nom_du_fichier var1 var2 var3

(si tu fais simplement save nom_du_fichier Matlab sauvegarde toutes les variables dans le fichier)

puis tu peux faire un load('nom_du_fichier.mat')
et c'est gagné

mais je ne connais rien quant au set(handles.Hglass,'string,Hglass)
Ajouter un commentaire
Réponse
+0
moins plus
je vais essayer comme ca peut etre que l'erreur provient simplement de ma maniere de sauver les donnees, merci beaucoup!
a la prochaine
Ajouter un commentaire
Réponse
+0
moins plus
ok, bonne continuation
Ajouter un commentaire
Réponse
+0
moins plus
salut tous le monde;

j'ai une demande s'il vous plait: qui peut m'aider a resourde ce problem.
je veut bien lire une image JPEG en Matlab de 100*100 Pixel et je sait pas comment (je doit ecrire koi et ou);
ensuite de la redoubler de 100*100 pixel a 200*200 pixel est tous ca avec matlab .

je sait pas comment ,aidez moi s'il vous plait
Ajouter un commentaire
Ce document intitulé « [Matlab] Utilisation de la fonction or(a,b,c...) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?