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 :

Incompréhension de fonction [Débutant]


Sujet :

MATLAB

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Incompréhension de fonction
    Bonjour,
    je suis tout nouveau sous Matlab et j'aurais besoin d'un petit eclaircicement en rapport au code ci-dessous. Il s'agit d'une fonction qui scan le répertoire spécifié et en récupère la liste de tous les fichiers.

    J'ai du mal à cerner l'utilité et le fonctionnement de cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        fileList = cellfun(@(x) fullfile(dirName,x),fileList,'UniformOutput',false);  %# Prepend path to files

    Voici le code complet de la fonction ici :

    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
    20
    21
    22
    23
    24
     
    %=========================================================================%
    %Début de la fonction getAllFiles+++++++++++++++++++++++++++++++++++++++++%
    %=========================================================================%
    % Fonction parse du disque à tester
    function fileList = getAllFiles(dirName)    
    dirData = dir(dirName);      %# Get the data for the current directory
    dirIndex = [dirData.isdir];  %# Find the index for directories   
    fileList = {dirData(~dirIndex).name}';  %'# Get a list of the files   
    if ~isempty(fileList)
     
        fileList = cellfun(@(x) fullfile(dirName,x),...  %# Prepend path to files                        
            fileList,'UniformOutput',false);   
    end
    subDirs = {dirData(dirIndex).name};  %# Get a list of the subdirectories
    validIndex = ~ismember(subDirs,{'.','..'});  %# Find index of subdirectories                                                
                                                 %#   that are not '.' or '..'   
    for iDir = find(validIndex) %# Loop over valid subdirectories     
        nextDir = fullfile(dirName,subDirs{iDir});    %# Get the subdirectory path     
        fileList = [fileList; getAllFiles(nextDir)];  %# Recursively call getAllFiles   
    end
    %=========================================================================%
    %Fin de la fonction getAllFiles-------------------------------------------%
    %=========================================================================%
    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fileList = {dirData(~dirIndex).name}';  %'# Get a list of the files
    permet de lister tous les noms de fichiers dans le répertoire, mais ces noms ne contiennent pas le chemin complet, juste le nom.

    La fonction cellfun permet d'appliquer la même fonction à toutes les cellules d'un tableau de cellules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fileList = cellfun(@(x) fullfile(dirName,x),fileList,'UniformOutput',false);  %# Prepend path to files
    Pour chaque nom contenu dans fileList, on lui ajoute le chemin vers le répertoire (grâce à la fonction fulllfile). fileList en sortie contiendra tous les chemins complets de chaque fichier du répertoire.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Merci !!!

    Bonne journée !

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

Discussions similaires

  1. [1.x] Erreur incompréhensible : avec la fonction __toString()
    Par Malonix dans le forum Symfony
    Réponses: 3
    Dernier message: 01/07/2009, 12h15
  2. Fonction incompréhensible
    Par hanane78 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/11/2007, 14h12
  3. [Fonction][VBA]incompréhension sur datediff
    Par portecd dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2007, 13h57
  4. [C#]Incompréhension de la fonction Parse.
    Par Tournevyks dans le forum C#
    Réponses: 5
    Dernier message: 06/10/2006, 09h14
  5. Réponses: 3
    Dernier message: 25/07/2006, 18h00

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