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


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut lire un fichier ascii
    j'ai un fichier type .asc (ASCII) et je veux l'ouvrir avec Matlab.
    Le fichier ressemble à ça :
    -1,850108
    -1,000108
    -1,150108
    -1,300108
    ...
    jusqu'à la ligne 3608
    j'ai essayer de coder ça, mais j'ai un message d'erreur que je ne comprends pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dlmread('5489.asc',' ',[1 3608]);
     
    Attempted to access range(3); index out of bounds because numel(range)=2.
    Error in dlmread (line 96)
        nrows = range(3) - range(1) + 1;
    Voilà, Merci de m'aider je suis débutante et j'ai du mal...

    Noovn.

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Une solution qui permet de se soustraire des virgules qui posent problème :

    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
    % Ouverture du fichier %
    fid = fopen('5489.asc','r');
     
    % Tout contient l'ensemble des donnees du fichier %
    Tout = fread(fid,[1,inf],'*char');
     
    % Fermeture fichier %
    fclose(fid);
     
    % Remplacement virgules par points % 
    Tout = strrep(Tout,',','.');
     
    % Impression du contenu modifie dans nouveau fichier %
    fid = fopen('5489_copie.asc','w');
    fwrite(fid,Tout);
    fclose(fid);
     
    % Lecture nouveau fichier avec dlmread %
    Data = dlmread('5489_copie.asc');

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: 3
    Dernier message: 26/03/2014, 09h16
  3. Comment lire un fichier ASCII ?
    Par ThonySp dans le forum MATLAB
    Réponses: 2
    Dernier message: 25/06/2013, 08h01
  4. lire fichier ascii
    Par mina86 dans le forum Débuter
    Réponses: 6
    Dernier message: 15/02/2010, 16h08
  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