IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

Bug incompréhensible dans une condition while


Sujet :

Scilab

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Bug incompréhensible dans une condition while
    Bonjour,

    J'ai un bug incompréhensible dans mon programme (que vous retrouverez joint à ce post).

    En effet l'extrait de code qui pose problème (semblerait-il) est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    while (d<>distance_parcourue)
                pt_intersec1=new_coord(coord_emet,i,pt_intersection1,dim,taille_voxel); 
     
                num_voxel=trouver_voxel(coord_emet,i,pt_intersection1,dim,taille_voxel,coord_recep,j);
     
                Pt_intersec_v=chercher_intersec_voxel(voxel,num_voxel,coord_emet,i,coord_recep,j,pt_intersection1); 
                pt_intersection2=choisir_bon_point(Pt_intersec_v,coord_emet,i,coord_recep,j);
     
                d=d+sqrt((pt_intersection1(3)-pt_intersection2(3))^2+(pt_intersection1(1)-pt_intersection2(1))^2+(pt_intersection1(2)-pt_intersection2(2))^2);
     
                scf(1)
                x=[pt_intersection1(1) pt_intersection2(1)]
                y=[pt_intersection1(2) pt_intersection2(2)]
                z=[pt_intersection1(3) pt_intersection2(3)]
                param3d1(x,y,z)
     
                compteur=compteur+1
     
                pt_intersection1=pt_intersection2;
     
                bi(num_couple,num_voxel)=d;
     
                disp("Dans Boucle")
                disp(compteur)
     
            end
     
            disp("Sortie Boucle")
    Je ne sors pas toujours de la boucle while quand la condition est pourtant est vérifiée... pourquoi ?

    Merci d'avance pour votre réponse et votre aide,

    Je suis certain que c'est une erreur de débutant mais pourtant je n'arrive pas à comprendre...

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    A première vue, il s'agit d'un problème de comparaison de deux nombres réels

    Voir la FAQ MATLAB : Pourquoi 0.3-0.2-0.1 est-il différent de 0 ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci ! J'ai pu régler le soucis !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème de condition dans une bouche WHILE
    Par jessylfoh dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/09/2014, 17h34
  2. Problème / bug dans une boucle while
    Par Armad dans le forum Scilab
    Réponses: 1
    Dernier message: 08/09/2014, 22h37
  3. Réponses: 3
    Dernier message: 14/10/2013, 17h54
  4. Réponses: 2
    Dernier message: 24/06/2004, 09h13
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo