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 :

Dernière ligne fichier texte [Débutant]


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 32
    Points
    32
    Par défaut Dernière ligne fichier texte
    Bonjour,

    Je travaille d'habitude avec VB...et la je vire vers Matlab.

    J'ai un fichier texte de données numériques avec 15 colonnes et N lignes.

    Pour lire une ligne : j'utilise fgets

    je voudrais remplir le contenu dans une matrice M(N,15)

    comment pourrais je connaitre le nombre de ligne N, parce que si j'ai bien compris , la fonction fgets lit ligne par ligne.


    Merci d'avance pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Regardes du côté de la fonction "textread"...

    Elle te permet de lire un fichier texte entier...
    INCIA : MATLAB R2014a sous MAC OS 10.9.3

    Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    tu as essayé de faire tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    M = load('mon_fichier');
    Normalement, ca devrait marcher

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Et pour finir, un aperçu du fichier que tu cherches à lire permettrait de te donner une réponse plus précise
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Dut Voir le message
    Et pour finir, un aperçu du fichier que tu cherches à lire permettrait de te donner une réponse plus précise
    merci pour les réponses
    en fait c'est matlab5 que j'ai , il comprend pas textread !!! c'est pour ca que j'utilise fgets:

    voila un aperçu du texte ..

    1743 6400 0 11025 80
    1633 6400 0 11025 7225
    .........

    désolé , mais je suis hyper à la traine pour Matlab, je l'ai pas manipulé depuis 5 ans..
    merci

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Citation Envoyé par Dut Voir le message
    Et pour finir, un aperçu du fichier que tu cherches à lire permettrait de te donner une réponse plus précise
    ZiK un lecteur audio et son blog.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par modaffar Voir le message
    voila un aperçu du texte ..

    1743 6400 0 11025 80
    1633 6400 0 11025 7225
    .........
    GuiYom00 a raison, il suffit de taper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M = load('mon_fichier');
    Avec mon_fichier le nom exact de ton fichier texte. Il n'y a rien de plus simple sous Matlab

  8. #8
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par aurel_ben Voir le message
    GuiYom00 a raison, il suffit de taper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M = load('mon_fichier');
    Avec mon_fichier le nom exact de ton fichier texte. Il n'y a rien de plus simple sous Matlab

    Salut,
    en fait ca fait deux heures que j'essaye de faire ca avec load mais il m'affiche ceci :
    » load('surfaceTXT.txt')
    ??? Error using ==> load
    Can't read file.
    j'ai essayé un fichier csv : pareil ...et avec mes recherches sur le forum, c'est un problème assez récurrent..

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Attache un fichier à un message en le compressant (format zip)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Dut Voir le message
    Attache un fichier à un message en le compressant (format zip)
    okey..le voila ..merci pour ton aide
    Fichiers attachés Fichiers attachés

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Je n'ai pas d'erreur en utilisant .
    Le seul problème possible est l'utilisation de virgule comme séparateur décimal.

    Quel est ta version de Matlab?
    ZiK un lecteur audio et son blog.

  12. #12
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Citation Envoyé par vinc-mai Voir le message
    Le seul problème possible est l'utilisation de virgule comme séparateur décimal.
    En effet, c'est le problème ici

    Le fichier SurfaceTXT.txt est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1743,156526	6400	0	11025	6400	0	8400	6400	0	0	8400	80	0	105	80
    1633,106128	6400	0	11025	7225	0	8400	6800	0	0	8925	80	0	105	85
    1484,515781	6400	0	11025	8100	0	8400	7200	0	0	9450	80	0	105	90
    Si on fait :

    on obtiens une matrice Nx16 car le premier champ contient le caractère "," qui est considéré comme un séparateur de valeur et non pas comme un séparateur décimal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >> SurfaceTXT(1:3,1:3)
     
    ans =
     
            1743      156526        6400
            1633      106128        6400
            1484      515781        6400
    Ici, je vois deux solutions rapides :

    1. remplacer, dans un éditeur de texte, la virgule par un point dans le fichier avant de le lire avec LOAD
    2. utiliser le code ci-dessus et reformer la première valeur en combinant les deux premiers champs (partie entière et partie décimale)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Citation Envoyé par modaffar Voir le message
    load('surfaceTXT.txt')
    ??? Error using ==> load
    Can't read file.
    Ton fichier se nomme SurfaceTXT.txt et non surfaceTXT.txt. Attention à la casse!
    ZiK un lecteur audio et son blog.

  14. #14
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par vinc-mai Voir le message
    Ton fichier se nomme SurfaceTXT.txt et non surfaceTXT.txt. Attention à la casse!

    Bonjour ,

    Finalement c'était un problème de ',' , j'ai remplacé par des points '.' et ça marche
    J'ai un Matlab 5 ..

    Grand merci pour votre aide you're the best

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    De rien.
    Pense à ajouter la balise résolu.
    ZiK un lecteur audio et son blog.

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

Discussions similaires

  1. Saut de ligne fichier texte depuis un JTextArea
    Par jeanjean6 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 23/05/2010, 01h08
  2. Suppression ligne fichier texte
    Par stephane92400 dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 25/12/2009, 16h14
  3. Problème EndofStream (ligne fichier texte)
    Par dada4444 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/06/2009, 11h39
  4. Effacer dernière ligne fichier txt
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/09/2006, 22h05
  5. [VBA-E] Derniere ligne fichier texte
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 72
    Dernier message: 13/04/2006, 12h07

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