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

Interfaces Graphiques Discussion :

erreur dans mon code


Sujet :

Interfaces Graphiques

  1. #1
    Membre éclairé Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Par défaut erreur dans mon code
    Bonjour,
    j'ai une erreur dans mon code et j'arrive pas à voir la cause
    voici mon code:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    function [LCD,xmin,xmax,ymin,ymax,s]=calculate_right(i,com_aff2,num)
    k=1;
    xmin=1000000000000000000000;
    xmax=com_aff2(i).c_max;
    ymin=com_aff2(i).l_min;
    ymax=com_aff2(i).l_max;
    changed=true;
     
    while( changed==true)
    changed=false;
    for j=1:num
        if (com_aff2(j).c_min>=com_aff2(i).c_min+(com_aff2(i).c_max-com_aff2(i).c_min)/2 && com_aff2(j).c_max>com_aff2(i).c_max) && ((com_aff2(j).l_min<=ymin+(ymax-ymin)/2 && com_aff2(j).l_max>=ymin+(ymax-ymin)/2)||(com_aff2(j).l_min>=ymin && com_aff2(j).l_max<=ymax))
            LCD(k)=com_aff2(j);
            if(xmin>com_aff2(j).c_min)
                xmin=com_aff2(j).c_min;
            end
            if (xmax<com_aff2(j).c_max)
                xmax=com_aff2(j).c_max;
            end
            if(ymin>com_aff2(j).l_min)
                ymin=com_aff2(j).l_min;
                changed=true;
            end
            if (ymax<com_aff2(j).l_max)
                ymax=com_aff2(j).l_max;
                changed=true;
            end 
            k=k+1;
        end
    end
    end
     
    %%%%%%%%%%%%%%
    s=k-1;
    num=s;
    xmin=1000000000000000000000;
    xmax=0;
    ymin=1000000000000000000000;
    ymax=0;
    for j=1:s
            if(xmin>LCD(j).c_min)
                xmin=LCD(j).c_min;
            end
            if (xmax<LCD(j).c_max)
                xmax=LCD(j).c_max;
            end
            if(ymin>LCD(j).l_min)
                ymin=LCD(j).l_min;
     
            end
            if (ymax<LCD(j).l_max)
                ymax=LCD(j).l_max;
            end 
    end
    end
    j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Error in ==> calculate_right at 2
    k=1;
     
    ??? Output argument "LCD" (and maybe others) not assigned during
    call to "C:\Documents and Settings\kawther\Mes
    documents\MATLAB\monapplication3\calculate_right.m>calculate_right".
     
    Error in ==> pushbutton_Callback_CCA at 377
        [com_aff2(i).LRC,com_aff2(i).right_xmin,com_aff2(i).right_xmax,com_aff2(i).right_ymin,com_aff2(i).right_ymax,com_aff2(i).right_nb]=calculate_right(i,com_aff2,num); 
    ??? Error while evaluating uipushtool ClickedCallback
    je vois pas pourquoi la variable k pose un problème
    SVP j'ai besoin de votre aide.
    d'avance merci.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Le problème ne vient pas de k mais du fait que tu ne passes pas dans ton IF, donc ta variable de sortie LCD n'est jamais renseignée...

    Une solution c'est d'initialiser ta variable au début du code en faisant:
    Bon courage,
    Duf

  3. #3
    Membre éclairé Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Par défaut
    infiniment merci Duf

  4. #4
    Membre éclairé Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Par défaut
    bonjour;
    J’ai pensé que le problème est résolu mais il paraît que ce n’est pas le cas, en fait ma variable LCD est une structure, le même cas pour com_aff2. Ce qui engendre un problème au niveau de l’affectation
    L’erreur est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? The following error occurred converting from struct to double:
    Error using ==> double
    Conversion to double from struct is not possible.
     
    Error in ==> calculate_right at 13
            LCD(k)=com_aff2(j);
    Le problème est au niveau de l’initialisation LCD, en fait je ne sais pas comment initialiser ma variable LCD correctement.
    quelqu'un peut m'aider.
    d'avance merci.

  5. #5
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Dans ce cas, tu peux initialiser ta structure à l'aide de la commande STRUCT en définissant les champs que prendra ta structure, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LCD = struct('c_min', [], 'c_max', []);
    A tester et adapter...

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

Discussions similaires

  1. Où l'erreur dans mon code
    Par moonia dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2006, 15h16
  2. Réponses: 5
    Dernier message: 14/05/2006, 23h41
  3. Erreur dans mon code PHP
    Par jack_1981 dans le forum Langage
    Réponses: 6
    Dernier message: 12/05/2006, 11h01
  4. erreur dans mon code
    Par sacco dans le forum C
    Réponses: 4
    Dernier message: 14/04/2006, 12h50
  5. [VBA][Débutant][export]erreurs dans mon code?
    Par Christophe93250 dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2006, 20h52

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