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 de données dans un fichier [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Lecture de données dans un fichier
    Bonjour,

    Je lis très souvent le forum MATLAB et j'y trouve souvent la solution à mes problèmes mais je sèche là sur une difficulté que je ne parviens pas à résoudre.

    Voici le fichier "importer.prn" que je voudrais lire :

    Time Speed Acc_X ACC_Y
    0:000 204.1 0.58 -0.07
    0:010 204.3 0.59 -0.07
    0:020 204.4 0.59 -0.09
    0:030 204.6 0.60 -0.07
    0:040 204.9 0.59 -0.05
    0:050 205.1 0.59 -0.08
    0:060 205.5 0.59 -0.08
    0:070 205.9 0.58 -0.08
    0:080 206.3 0.58 -0.10
    0:090 206.6 0.59 -0.10
    0:100 206.8 0.59 -0.06
    (etc...)
    Voici le code, surement maladroit, que j'ai écrit pour lire ces données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function lecture
    ouvrir = fopen('importer.prn');
    Mlec = textscan(ouvrir,'%s%s%s%s');
    fclose(ouvrir);
    N(:,1)=Mlec{1}; N(:,2)=Mlec{2};
    N(:,3)=Mlec{3}; N(:,4)=Mlec{4};
    N(:,1)=strrep(N(:,1),':','.');
    M=N(2:end,:);
    M(8,1)
    str2num(M(8,1))
    end
    Voici l'erreur que j'ai en retour :

    >> lecture

    ans =

    '0.070'

    ??? Error using ==> str2num
    Requires string or character array input.

    Error in ==> lecture at 10
    str2num(M(8,1))

    Je ne comprends pas ce qui gêne MATLAB, pourquoi il ne considère pas l'entité comme un string, et comment corriger ce problème...

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    M(8,1) est de type CELL et non pas de type STRING.
    Un petit tour par la : Les tableaux de cellules (cell array)

    Essayes :et regarde la différence.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Pourquoi lire les données sous forme de chaîne de caractères (%s) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ouvrir = fopen('importer.prn');
    Mlec = textscan(ouvrir,'%s%f%f%f','headerlines',1);
    fclose(ouvrir);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ouvrir = fopen('importer.prn');
    Mlec = textscan(ouvrir,'%d:%d%f%f%f','headerlines',1);
    fclose(ouvrir);

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut
    Merci pour toutes ces aides.

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

Discussions similaires

  1. Lecture de matrice dans un fichier de données (.dat)
    Par Skolkran dans le forum Fortran
    Réponses: 2
    Dernier message: 04/05/2011, 15h19
  2. [Batch] Lecture de données dans un fichier
    Par eudes dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/09/2009, 11h08
  3. Lecture de données dans un fichier résultat
    Par gregterraz dans le forum C
    Réponses: 1
    Dernier message: 19/05/2008, 16h53
  4. Lecture de données dans un fichier déjà ouvert
    Par adnacademia dans le forum Fortran
    Réponses: 1
    Dernier message: 27/04/2007, 14h54
  5. Lecture de données dans un fichier txt
    Par Marcusss dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/04/2007, 14h40

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