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 :

Lire un fichier Ascii, donnees en bloc pas en colonnes


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Points : 32
    Points
    32
    Par défaut Lire un fichier Ascii, donnees en bloc pas en colonnes
    Bonjour,

    J'ai un gros fichier ASCII dans lequel les donnees sont disposees de cette facon:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    246.00000000
     
      -999.250000 246.00000000 245.99255371  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
     0.1059999987  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000
     
     246.50000000
     
      -999.250000 246.50000000 246.49253845  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
     0.1072999984  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000
     
     247.00000000
     
      -999.250000 247.00000000 246.99252319  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
     0.1076000035  -999.250000  -999.250000  -999.250000  -999.250000  -999.250000
     
      -999.250000  -999.250000  -999.250000  -999.250000
    le probleme c'est que chaque variable n'est pas dans une colonne separee. Par exemple la premiere variable est la premiere valeur de chaque bloc ( 246.00000000, 246.50000000, 247.00000000....etc).
    Ma question c'est comment lire ce fichier et avoir chaque variable independemment des autres. Au total j'ai 29 variables.

    Merci d'avance

    Fateh

  2. #2
    Membre habitué
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Points : 196
    Points
    196
    Par défaut
    Je pense qu'en jouant sur les indices des cellules, tu peux t'en sortir.
    Qu'est ce que ça te donne après l'import dans Matlab ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    Ca donne le meme format des donnees affichees dans mon ancien message.

    Merci

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

    Chaque bloc est-il constitué d'exactement 1+4*6+4 = 29 valeurs ? Ou ce nombre est-il variable ?
    Si ce nombre est fixe, voici une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('file.txt', 'rt');
    data = fscanf(fid, '%f',[29,Inf]);
    fclose(fid);

Discussions similaires

  1. Lire un fichier Ascii ou texte, donnees en bloc pas en colonnes
    Par Fatehcz dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 27/03/2014, 13h14
  2. Réponses: 4
    Dernier message: 09/07/2010, 08h38
  3. Lire un fichier qui ne se trouve pas dans la webapps
    Par sorilazer dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 31/08/2007, 13h48
  4. Lire un fichier Texte d'1 bloc dans une chaine
    Par User dans le forum Langage
    Réponses: 6
    Dernier message: 13/09/2006, 21h56
  5. lire un fichier ascii complexe
    Par alexum dans le forum C++
    Réponses: 9
    Dernier message: 16/02/2005, 09h05

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