[Matlab] problème if

captain_usopp Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
captain_usopp Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
J'ai un problème sous Matlab avec une boucle if. Voici le code pour expliquer mieux les choses :

for q = 1:length(Zb)
for p = 1:length(stub_L)
for r = 1:length(Z2)
for s = 1:length(Z1)
if ((real_lim1 <= real(Zin(p,1,q,r,s)) <= real_lim2) && ...
(real_lim1 <= real(Zin(p,2,q,r,s)) <= real_lim2) && ...
(real_lim1 <= real(Zin(p,3,q,r,s)) <= real_lim2) && ...
(real_lim1 <= real(Zin(p,4,q,r,s)) <= real_lim2) && ...
(real_lim1 <= real(Zin(p,5,q,r,s)) <= real_lim2) && ...
(real_lim1 <= real(Zin(p,6,q,r,s)) <= real_lim2) && ...
(imag_lim1 <= imag(Zin(p,1,q,r,s)) <= imag_lim2) && ...
(imag_lim1 <= imag(Zin(p,2,q,r,s)) <= imag_lim2) && ...
(imag_lim1 <= imag(Zin(p,3,q,r,s)) <= imag_lim2) && ...
(imag_lim1 <= imag(Zin(p,4,q,r,s)) <= imag_lim2) && ...
(imag_lim1 <= imag(Zin(p,5,q,r,s)) <= imag_lim2) && ...
(imag_lim1 <= imag(Zin(p,6,q,r,s)) <= imag_lim2))

alphabeta = [Zb(q); stub_L(p); Z2(r);Z1(s)];
fprintf(fid,'%16f %16f %16f %16f\n',alphabeta);
end
end
end
end
end

où real_lim1 et les autres du même acabit sont des valeurs que je définis.
Pour faire simple il faut que chacune de mes valeurs soit comprise entre deux bornes que je définis.

Mais mon instruction if n'est pas respectée. Je na sais pas pourquoi. Elle est tout le temps vraie pour Matlab mais ce n'est pas le cas si on affiche les valeurs de Zin.
Au passage je dois envoyer les données dans un fichier texte mais ça c'est bon ça va. Enfin dans mon fichier texte il y a toutes les valeurs possibles alors que seules celles qui respectent ma condition m'intéressent.

Quelqu'un pourrait-il m'aider? Merci d'avance

1 réponse

captain_usopp Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
oups j'ai oublié de dire bonjour donc je le fais maintenant : bonjour à tous!
0