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

MATLAB Discussion :

Erreur que je ne comprends pas


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Erreur que je ne comprends pas
    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
    function[G]=versant(X,A,B,D,o,m,E,BordsImage,DataElev,q)
    v=1;
    for k=o-v:o+v
        for l=m-v:m+v
          if X(1,3)<D(90-k,l)
            for f=90-k-1:90-k+1
                for h=l-1:l+1
                  if (A(90-k)-X(1,1))^2+(B(l)-X(1,2))^2+(D(90-k,l)-X(1,3))^2>(A(90-k)-A(90-f))^2+(B(l)-B(h))^2+(D(90-k,l)-D(f,h))^2
                    G(q,1)=A(90-k);
                    G(q,2)=B(l);
                    G(q,3)=D(90-k,l);
                    P(1,1)=G(q,1);
                    P(1,2)=G(q,2);
                    P(1,3)=G(q,3);
                    q=q+1;
                    [P,o,m]=assimilationpoint2(P,BordsImage,D);
                    G=versant2(P,A,B,D,o,m,E,BordsImage,DataElev,q);
                  %else 
                  end
                end
            end
          end
       end
    end
    end
    Toutes mes variables d'entrée existent et je tappe
    G=versant(X,A,B,D,o,m,E,BordsImage,DataElev,q)

    En retour j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error in ==> versant at 2
    v=1;
    Pourquoi ? ='(

  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 : 52 884
    Points
    52 884
    Par défaut
    Le message ne me semble pas complet... peux-tu le recopier dans son intégralité ?
    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
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    error in ==> versant at 2
    v=1;
     
    ??? Output argument "G" (and maybe others) not assigned during call to
    "U:\MATLAB\Projet info\versant.m>versant".
    en fait si j'enlève le v, et que je le remplace par 1 dans les deux boucles
    l'erreur se met alors sur 'for k =o-1:o+1'

    ce qui est troublant, car il y a 40minutes, il n'y avait aucun problème là dessus

  4. #4
    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 : 52 884
    Points
    52 884
    Par défaut
    Le problème, c'est que si aucune des conditions IF-END n'est valide durant l'exécution du code, la variable G n'est jamais utilisée... et c'est justement cette variable que ta fonction renvoie.

    Il faut donc prendre ce cas particulier en compte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function [G]=versant(X,A,B,D,o,m,E,BordsImage,DataElev,q)
     
    G = [];
    v=1;
    for k=o-v:o+v
        for l=m-v:m+v
    ...
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function [G]=versant(X,A,B,D,o,m,E,BordsImage,DataElev,q)
     
    G =0;
    v=1;
    for k=o-v:o+v
        for l=m-v:m+v
    ...
    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)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    D'accord, merci =)

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

Discussions similaires

  1. [Tableaux] Une erreur que je ne comprend pas
    Par bibom dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2006, 18h47
  2. [debug] erreur que je ne comprend pas
    Par PoZZyX dans le forum Java ME
    Réponses: 4
    Dernier message: 11/07/2006, 08h05
  3. std ::vector [erreur que je ne comprend pas]
    Par aaronw dans le forum SL & STL
    Réponses: 8
    Dernier message: 05/03/2006, 21h00
  4. [Débutant] Message d'erreur que je ne comprends pas
    Par Le Furet dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2006, 17h37
  5. [PostGreSQL] une erreur que je ne comprends pas
    Par flo78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h18

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