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 :

appel de fonction qui bug bizarrement [Débutant]


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 66
    Points
    66
    Par défaut appel de fonction qui bug bizarrement
    Bonjour,

    je fais appel à vos lumières car j'ai un code qui marche très bien jusqu'au moment où j'appel la fonction :
    "treatRESULTS" j'ai ce code message qui apparaît :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ??? Undefined function or method 'treatRESULTS' for input arguments of type 'cell'.
    j'ai regardé la FAQ et je me suis dit que lors de mon appel à la fonction je devais faire une mauvaise manipulation de mes cellules alors j'ai donc effacé les "clear all" "close all" et "clc" en haut du programme et lancé seulement la fonction "treatRESULTS" pour retester.

    je m'attendais à ce que cela bug de la même façon que précédemment, mais là surprise : ça a fonctionné...

    Donc je ne comprends plus :
    - Si je lance mon programme en une fois il ne fonctionne pas
    - mais si après un plantage je le relance (sans effacer le workspace) il fonctionne ...

    Pour simplifier la recherche d'erreur j'ai mis le contenu de ma fonction vide mais le message d'erreur apparait toujours...

    Voici mon appel de fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resultats=treatRESULTS(adress,allia,elem,result,'no',matrice,data);
    et voici le contenu de ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function results=treatRESULTS(adress,allia,elem,result,distri,matrice,data)
    results{1}=0;
    voyez vous un soucis là dedans ?

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    désolé je viens de trouver, je pensais vraiment pas que cela aller venir d'ici !

    en réalité lors de mon programme je change souvent de dossiers avec des "cd" et là (lorsque j'appelai la fonction en question) je n'étais plus dans le dossier où étais la fonction !

    maintenant tout est rentré dans l'ordre car juste avant l'appel à la fonction je me suis remis dans le dossier où le .m est déposé.

    ps: peut être faudrait il mettre ce genre d'erreur dans la FAQ car c'est assez vicieux et difficile à trouver comme bug ....

  3. #3
    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 : 40
    Localisation : France

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

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

    Pour la robustesse de ton programme, il faudrait mieux ajouter les répertoires contenant tes fonctions au PATH de MATLAB au début du programme (avec ADDPATH) plutôt que de mettre des CD dans ton code.

    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    merci, je ne connaissais pas.

    donc si je comprends bien au début je liste tout les chemins où chercher et ensuite matlab se débrouille sans aucuns "cd" ?

    c'est très bien ceci !

  5. #5
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Yop,

    Perso j'utilise, au début :

    et, à la fin pour nettoyer :

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par tachmou Voir le message
    Yop,
    Perso j'utilise, au début :
    et, à la fin pour nettoyer :
    Cordialement,
    merci,
    pourrais tu détailler ta pensée s'il te plait ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    Euh bah tu as testé et tu as regardé ce que ça fait ces codes ? Go utiliser les commandes help et doc et fais des tests...

    Le premier te permets de rajouter dans le path toute l'arborescence du répertoire courant dans le "path", le second te permets de le supprimer à la fin de ton programme... et ils ne touchent jamais au path par défaut quand tu lances matlab. Bref : que du bonheur. C'est le genre de formule magique qui t'évite bien des tracas... C'est comme avec Merlin : au lieu d'avoir une femme esclave, il utilise des formules magiques pour faire le ménage : bah là c'est pareil... au lieu d'engager un stagiaire pour qu'il te résolve ce problème, tu utilises cette formule magique et paf! ça fait des chokapiks...

    Bon je divague là...

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

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

Discussions similaires

  1. appel de fonction qui ne marche pas : syntaxe?
    Par adoptioninternationa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/07/2008, 11h07
  2. asp:Button qui appelle 1 fonction qui n'a rien à voir !?
    Par david4444 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/06/2008, 15h27
  3. Réponses: 1
    Dernier message: 02/05/2008, 20h34
  4. Réponses: 2
    Dernier message: 06/03/2008, 21h20
  5. Appel à une fonction qui se trouve sur une autre page
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2007, 12h36

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