[MATLAB] Boucle if qui ne marche pas
Fermé
Belki
-
17 sept. 2012 à 11:31
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 sept. 2012 à 14:16
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 sept. 2012 à 14:16
1 réponse
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 sept. 2012 à 14:16
17 sept. 2012 à 14:16
En informatique 90 fois sur 100 le problème vient de ce qu'il y a entre le clavier et la chaise.
Et là c'est le cas, car tu ne connais pas la programmation et la façon de faire de la logique, en particulier la priorité des opérateur.
Bref, "0<=p(1)<=1" ne fait pas ce que tu penses. Il fait 0<=p(1) et retourne true (qui vaut aussi 1) et ensuite il fait 1<=1, et donc retourne true, donc il fait le corps du if et a=p(1). Il faut séparer ton opération en 2 :
if 0<=p(1) && p(1)<=1
Et là c'est le cas, car tu ne connais pas la programmation et la façon de faire de la logique, en particulier la priorité des opérateur.
Bref, "0<=p(1)<=1" ne fait pas ce que tu penses. Il fait 0<=p(1) et retourne true (qui vaut aussi 1) et ensuite il fait 1<=1, et donc retourne true, donc il fait le corps du if et a=p(1). Il faut séparer ton opération en 2 :
if 0<=p(1) && p(1)<=1