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 :

Boucles sur des fichiers


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Boucles sur des fichiers
    Bonjour, j'ai près de 500 fichiers sur lesquels je veux faire le même traitement. Sur un fichier j'arrive à le faire, ce n'est pas compliqué. Seulement, je n'arrive pas à trouver les commandes qui me permettent de parcourir ces fichiers (un truc du genre from fichier1 to fichier500 .. il faudra les renommer ces fichiers!)

    Merci de bien vouloir m'aider

    P-S. : si vous connaissez une astuce pour ne pas avoir à renommer tous ces fichiers, je vous serai reconnaissante!

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci!!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    re-bonjour!
    Je suis sure d'avoir oublié un truc très simple, mais quand j'ai essayé de renommer les fichiers, sur Matlab oui ça marche mais quand j'ouvre le dossier je ne vois pas les changements.. En plus il faut éliminer toutes les entêtes de tous les fichiers en même temps! :s
    J'ai du mal à trouver les bonnes commandes pour faire ça une fois pour toutes

  5. #5
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Euh...C'est pas très clair.

    Pourrais-tu nous montrer ton code ? Nous expliquer ce qu'il est censé faire et ce qu'il fait ?
    Règles du Forum

    Adepte de la maïeutique

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Voici le code que j'applique sur un fichier dont j'ai enlevé l'entête manuellement et qui contient 262144 lignes et 3 colonnes. Je vais d'abord considérer uniquement la 3ème colonne. Ensuite je vais créer une matrice avec seulement quelques éléments à partir de cette colonne. Enfin, je vais faire la moyenne de cette matrice. voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    load nom_fichier
    PL1=nom_fichier(:,3)
    PL2=reshape(PL1,512,512)
    PL=PL2(157:356,157:356)
    mean(mean(PL))
    pcolor(PL)
    shading flat
    Le but c'est de faire une boucle sur tous les 500 fichiers qui ont une entête à éliminer ou à ignorer répartis sur 92 dossiers et d'obtenir un vecteur ou une matrice qui contient la moyenne de chaque fichier pour ensuite tracer une distribution. Voilà

    et merci pour votre aide

    Edit: les données sont séparés par une virgule et une tabulation.. ça ne pose pas de problème avec load..

  7. #7
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Je suppose que tu ne vas pas pouvoir le faire manuellement pour chaque.
    Donc encore un tour par la FAQ (tu devrais la lire en entier, ça irait plus vite )
    Comment passer l'entête d'un fichier texte en lecture ?
    Règles du Forum

    Adepte de la maïeutique

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    J'avais lu ça avant de poster.. :/ malheureusement ça ne m'aide pas avec ça je peux enlever l'entête mais pas dans une boucle.. En plus je ne trouve toujours pas comment extraire la 3ème colonne dans une boucle.

  9. #9
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    ben faut adapter les différents FAQ aussi.

    Si tu sais faire sur 1 fichier tu sais le faire sur 10.
    Cas 2 fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('data.txt','rt');
    textscan('data.txt',<format>,'headerlines',<nbre de lignes à passer>)
    fclose(fid);
    Cas 2 fichiers ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fichiers = {'data1.txt',"data2.txt'};
    for k=1:length(fichiers)
       fid = fopen(fichiers{k},'rt');
       textscan(fid,<format>,'headerlines',<nbre de lignes à passer>)
       fclose(fid);
    end
    Si tu étudies la documentation de TEXTSCAN tu verras aussi comment récupérer uniquement ce qui t'intéresse.
    Règles du Forum

    Adepte de la maïeutique

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup pour votre aide ^^
    vous faites du bon boulot, bon courage!

Discussions similaires

  1. [HF15] realiser une boucle sur des fichiers et des rubriques de BD
    Par emmanuel Zoti Bi dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 03/08/2013, 12h20
  2. boucle for each sur des fichiers
    Par Nako_lito dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/08/2010, 14h21
  3. [bash] Boucle sur des noms de fichiers à espaces
    Par Le Furet dans le forum Linux
    Réponses: 8
    Dernier message: 16/12/2009, 07h59
  4. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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