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 seulement nombre dans fichier .dat


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Lire seulement nombre dans fichier .dat
    Bonjour tout le monde.

    J'ai un petit problème:
    Je dispose d'un fichier .dat, que j'arrive un peu à manipuler, à ouvrir etc...
    Voici à quoi il ressemble:
     LOCKHEED C-5A BL0 AIRFOIL
          31.0      31.0
    
     0.0000000 0.0000000
     0.0024662 0.0060003
     0.0049476 0.0093025
     ...            ...
    Mon but est de pouvoir récupérer les deux colonnes de coordonnées. J'arrive à le faire grâce à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fid = fopen('ag03.dat');
            C = textscan(fid,'%f32%f32', 'Headerlines',3);
            fclose(fid);
    M=cell2mat(C)
    Le problème est que je voudrait généraliser ce type de lecture à d'autre fichiers, qui n'ont pas forcément la même en-tête. Exemple:

    AG03 (flat aft bottom) 
         1.000000    0.000662
         0.994875    0.001210
         0.984975    0.002247
         0.973308    0.003426
         ...             ...
    Ce que je voudrais réussir à faire, c'est détecter les lignes qui ne sont pas des coordonnées, et ensuite enregistrer ces coordonnées dans une matrice...
    J'ai fait toute les fonctions de Matlab que j'ai pu trouver, mais ou tout est en 'string' ou je n'arrive pas à lire, et donc dissocier le texte des chiffres...

    Voilà, donc si quelqu'un a une idée de début de réponse... Merci beaucoup

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

    Tu peux essayer d'appliquer l'idée de cette discussion
    en faisant l'analyse des premières lignes avec fgetl.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ahhh effectivement... Merci pour la réponse.
    J'ai essayé de bidouiller un peu, mais en fait le problème c'est comment lui dire que je veux qu'il saute les lignes tant qu'il ne trouve pas "0" ou "1"?... Lui ca fonctionne avec "si il trouve head, il continue à sauter"...

    De plus je me suis rendu compte que je ne peux pas vraiment utiliser quelque chose comme ça, parce que parfois, dans les en-tête, il y a des "0" ou des "1", ce qui fausserait l'opération... Pour le coup je me demande si il y a vraiment une réponse à ce problème... :s

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est sûr que si les lignes du header ont la même forme que celles des données, cela va être difficile de les différencier
    Reste plus qu'à analyser tes fichiers pour voir THE différence.
    Bonne chance

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    En fait je pourrais utiliser les discriminants "1." et "0.", mais je ne sais pas comment lui dire de passer les lignes tant qu'il ne trouve pas l'un ou l'autre...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Même topo que dans le lien que je t'ai donné avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while isempty(strfind(ligne,'0.')) && isempty(strfind(ligne,'1.'))

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Impecable!! Merci beaucoup!

    Une petite question bonus en fait ^^ :

    pour un chiffre comme 0.0001562, lorsque je met les chiffres dans une matrice, il ne me met que 0.0002 .... Y a t-il un moyen de lui demander d'augmenter la longueur disponible?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Rectification: il n'affiche que 0.0002.
    Je te conseille de regarder la Pourquoi MATLAB affiche-t-il des valeurs tronquées ?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ah oui... Au temps pour moi...

    En tout cas merci beaucoup pour ton aide!! Je pourrai avancer maintenant! Y a plus qu'à essayer de régler le problème de lire tout les fichiers d'un dossier maintenant... Mais je cherche! =)

    Bonne continuation!

  10. #10
    Invité
    Invité(e)

Discussions similaires

  1. Lire un nombre dans un fichier texte
    Par haaa11 dans le forum Langage
    Réponses: 7
    Dernier message: 10/11/2008, 09h47
  2. Fonction pour lire des nombres dans un fichier
    Par passant_ dans le forum Débuter
    Réponses: 11
    Dernier message: 28/10/2008, 18h47
  3. grands nombre dans fichiers csv xls
    Par laurent.c123 dans le forum Documents
    Réponses: 3
    Dernier message: 09/07/2007, 22h28
  4. Réponses: 4
    Dernier message: 28/10/2005, 09h59
  5. Lire le contenu dans fichier raccourci .lnk
    Par THALES dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/10/2005, 12h37

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