[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 -
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
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
A voir également:
- [Matlab] problème if
- If exist - Forum Java
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- If char ✓ - Forum Programmation
- The Realtek Network Controller was not found. - Forum Pilotes (drivers)
- Php if multiple conditions ✓ - Forum PHP