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 "Reference to a cleared variable"


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Erreur "Reference to a cleared variable"
    Bonsoir,
    je souhaite fabriquer une fonction qui scanne 2 fichiers. Le problème est que je n'arrive pas à rentrer ma variable 'string' dans fopen. Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function A=tri(file1,file2)
    fids1=fopen(sprintf('%s',file1));
    fids2=fopen(sprintf('%s',file2));
     
    C_data1=textscan(fids1,'%f64 %f64','CollectOutput', 1,'headerlines',5);
    C_data2=textscan(fids2,'%f64 %f64','CollectOutput', 1,'headerlines',5);
    end
    Quand j'écris dans la console MATLAB tri('micheline.txt','michelle.txt'), j’obtiens alors cette erreur:
    Reference to a cleared variable 
    Error in tri (line 16)
    fids1=fopen(sprintf('%s',file1));
    
    Ça doit être tout bête mais je ne vois pas...
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    file1 et file2 sont déjà des chaines de caractères, inutile d'utiliser sprintf ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function A=tri(file1,file2)
    fids1=fopen(file1);
    fids2=fopen(file2);
     
    C_data1=textscan(fids1,'%f64 %f64','CollectOutput', 1,'headerlines',5);
    C_data2=textscan(fids2,'%f64 %f64','CollectOutput', 1,'headerlines',5);
    end
    Mais cela n'enlèvera pas le message d'erreur, il faudrait que tu nous montres toutes les lignes de la fonction tri (puisque apparemment, fids1=fopen(sprintf('%s',file1)); est à la ligne 16).
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonsoir,merci de m'aider
    J'ai juste effacé les commentaires. Enfaîte je veux que file1 et file2 soit entre crochet dans fopen.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Ah bah t'avais bien raison j'ai oublié d'effacer close all clear all
    merci

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Citation Envoyé par Mrjohnson Voir le message
    Enfaîte je veux que file1 et file2 soit entre crochet dans fopen.
    Il n'y a pas de crochets dans ton code ? Et Pourquoi veux-tu mettre des crochets?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. Reference to a cleared variable
    Par Christinita dans le forum MATLAB
    Réponses: 7
    Dernier message: 23/04/2012, 20h20
  2. Réponses: 1
    Dernier message: 18/06/2008, 11h09
  3. Reference to a cleared variable nomfichier
    Par zicos dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/04/2007, 18h03
  4. [débutant] erreur "indice de liste hors limites(1)"
    Par lidouka dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 15h31

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