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 :

[dlmread] probleme échantillonage de données venant d'un fichier .txt


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Juin 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 76
    Points : 53
    Points
    53
    Par défaut [dlmread] probleme échantillonage de données venant d'un fichier .txt
    Bonjour!

    Pour le moment j'utilise la fonction DLMREAD qui me retourne toutes les valeurs de mon fichier .txt. Je ne prend pas en compte les 3 premières lignes car ce sont des 'char'.

    Le problème de la fonction DLMREAD c'est qu'elle remplace les données manquantes par des '0'. Chose que je voudrais éviter car je voudrais échantillonner mes données par la suite.

    Pourriez-vous me dire s'il existe des fonctions matlab permettent de récupérer une partie d'un fichier .txt sans remplacer les données manquantes par des '0'?

    par avance merci et bonne après midi

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

    Regarde la fonction textscan où tu pourras contrôler cette valeur avec l'option 'EmptyValue'.

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Juin 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    Re-bonjour!

    merci je ne connaissais pas l'option 'emptyvalue' mais j'ai 2 problemes avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a=textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','delimiter', ',', 'EmptyValue','','headerLines',3);
    - je voulais remplacer les valeurs manquantes par du vide mais l'option 'emptyvalue' me retourne une erreur parce qu'elle ne veut que des valeurs numériques si j'ai bien compris. Je ne sais pas si c'est un vrai problème pour échantillonner mes données en utilisant INTERP1 ?

    - la fonction TEXTSCAN est dans une boucle et ouvre des fichiers de tailles variables et avec beaucoup de colonnes... Est-ce que c'est possible de simplifié l'écriture des formats des colonnes sachant que c'est toujours le même (flotant) et que le nombre de mes colonnes varient?

  4. #4
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Juin 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    en fouillant un peu plus sur le forum j'ai trouvé la réponse pour INTERP1 : ça ne pose pas de probleme

    et pour le deuxième problème pareil :

    Citation Envoyé par Dut Voir le message
    Pour stocker une matrice de taille 100x800 en classe Double il faut environ 0.6 Mo (100*800*8/1024/1024)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X = dlmread('data.csv', ' ');
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('data.csv','rt');
       X = fscanf(fid,'%f',[800,inf]).';
    fclose(fid);
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fid = fopen('data.csv');
       fmt = [repmat('%f ',1,799) '%f\n'];
       C = textscan(fid,  fmt);
    fclose(fid);
    Du coup merci Winjerome et merci Dut!
    problèmes résolus


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

Discussions similaires

  1. affichage d'info venant d'un fichier .txt
    Par foxprox dans le forum Flash
    Réponses: 2
    Dernier message: 09/02/2010, 13h09
  2. Réponses: 1
    Dernier message: 16/11/2009, 19h32
  3. [Débutant] récuperer données enregistrées dans un fichier TXT
    Par asous dans le forum MATLAB
    Réponses: 4
    Dernier message: 06/11/2009, 12h06
  4. Réponses: 2
    Dernier message: 18/06/2009, 15h26

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