Rechercher : dans
Par :

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

Dernière réponse le 27 déc 2006 à 19:20:15 weak007, le 4 jui 2005 à 14:19:18 
 Signaler ce message aux modérateurs

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

Configuration: matlab 6.5

Meilleures réponses pour « [Matlab] Utilisation de la fonction or(a,b,c...) » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

lilou, le 4 jui 2005 à 17:14:58

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

Répondre à lilou

2

pom, le 5 jui 2005 à 09:44:54

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) )

Répondre à pom

3

weak007, le 5 jui 2005 à 10:01:02

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

Répondre à weak007

4

pom, le 5 jui 2005 à 11:02:55

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 ?

Répondre à pom

5

weak007, le 5 jui 2005 à 11:31:58

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

Répondre à weak007

6

pom, le 5 jui 2005 à 13:31:53

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)

Répondre à pom

7

weak007, le 5 jui 2005 à 13:50:14

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...

Répondre à weak007

8

pom, le 5 jui 2005 à 15:30:20

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)

Répondre à pom

9

weak007, le 5 jui 2005 à 15:51:16

Je vais essayer comme ca peut etre que l'erreur provient simplement de ma maniere de sauver les donnees, merci beaucoup!
a la prochaine

Répondre à weak007

10

pom, le 5 jui 2005 à 16:32:13

Ok, bonne continuation

Répondre à pom

11

 bibicha_01, le 27 déc 2006 à 19:20:15
  • +1

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

Répondre à bibicha_01