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 :

lecture d'un fichier en boucle et stockage dans une variable


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut lecture d'un fichier en boucle et stockage dans une variable
    Bonjour,

    J'appelle un exécutable sur MATLAB qui m'écrit alors un résultat dans un fichier texte. Ce résultat je voudrais le stocker dans un vecteur en tant que premier terme du vecteur.
    Puis au moyen d'une boucle je rappelle l'exécutable qui m'écrit alors un autre résultat dans le même fichier texte. Je voudrais alors stocker cette nouvelle valeur comme 2ème terme de mon vecteur.
    Et ainsi de suite.

    J'ai essayé de faire ce que j'ai décrit précédemment avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    power(i,:)=load('resultats.txt');
    Cependant le vecteur power ne contient alors que le premier résultat dans tout le vecteur. C'est-à-dire imaginons que i va de 1 à 3, on aura power=[2.3; 2.3; 2.3].

    Puis j'ai essayé aussi avec textscan et fread:
    • Code : Sélectionner tout - Visualiser dans une fenêtre à part
      power(i,:)=textscan(fidd,'%d');
      La encore power ne contenait que la même valeur dans tout le vecteur. Et j'ai un message d'erreur :
      ??? The following error occurred converting from cell to
      double:
      Error using ==> double
      Conversion to double from cell is not possible.
      
      Error in ==> essaimatlab at 219
      power(i,:)=textscan(fidd,'%d');
    • avec fread :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      power(i,:)=fread(fidd);
      et j'obtiens :
      ??? Subscripted assignment dimension mismatch.
      
      Error in ==> essaimatlab at 220
      power(i,:)=fread(fidd)
      

    Merci d'avance pour votre temps, ce problème me bloque depuis un certain temps et m'empêche d'avancer dans mon projet.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1. power(i,:)=load('resultats.txt'); est à priori bon...
      As-tu vérifié au pas à pas que ton exécutable produisait des valeurs différentes de 2.3 pour tes différents i?
    2. power(i,:)=textscan(fidd,'%d'); ton erreur vient du fait que ta variable power est déjà une matrice (de tes précédents essais), tu ne peux pas mélanger matrice/tableau de cellules
    3. Dans la même idée: power(i,:)=fread(fidd); power possède déjà un certain nombre de colonnes qui est différent de la sortie de FREAD.
      Voir Subscripted assignment dimension mismatch.

  3. #3
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Tu peux voir ça :
    >> Tableaux de cellules (cell array)
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Effectivement c'était un problème avec l'exécutable. Ca marche donc bien avec load !
    Merci pour les réponses !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/06/2008, 14h43
  2. Réponses: 7
    Dernier message: 03/11/2007, 19h15
  3. Réponses: 10
    Dernier message: 10/02/2007, 18h44
  4. Réponses: 8
    Dernier message: 01/04/2006, 15h22
  5. Réponses: 13
    Dernier message: 16/01/2006, 15h48

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