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 :

load automatique pour calcul en masse [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Par défaut load automatique pour calcul en masse
    bonjour à tous,

    je débute sur MATLAB
    j'ai codé quelques fonctions qui me permettent d'avoir des informations type moyenne etc...
    pour chacun des fichiers, j'ai une 10e de valeur.

    alors la routine de calcul tourne bien mais je suis obligé de loader chaque fichier manuellement!!!!!

    petite précision: chaque fichier chargé vient incrémenté un vecteur qui contiendra toutes les valeurs (vecteur A contient toutes les valeurs moyennes des n fichiers que j'ai chargé).

    donc ma question est comment je peut faire pour que ma routine prenne tout mes fichiers d'un dossier sans que j'ai besoin de le loader moi même?????

    voici mon code (enfin le début) :

    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
    clear all
    close all
     
    pathname = '/Volumes/Untitled/fichier_134329/';
    newname = 'MaIx_PH_xx_11082011_cs07_nrnx1'; % nouveau fichier que je dois loader a chaque fois
     
    load /Users/Raphael/Desktop/Data_rest/data_rest % fichier qui mémorise mes vecteur contenat toutes mes valeurs
    eval(['load ' pathname newname])
     
    name = [name; newname]
    newsize = length(mean_FR)+1; % mon conteur d'incrémentation
    thresh = 0.10;
     
    % Mean firing rate
    mean_FR(newsize) = length(times)/max(times)% exemple de calcul
    merci par avance

  2. #2
    Invité
    Invité(e)

  3. #3
    Membre averti
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Par défaut
    bonsoir,
    merci pour ta réponse


    donc si j'ai bien compris en utilisant la fonction ' dir ' je lui dit de prendre tous ce qu'il y a ddans le répertoire en .m (par exemple). et en suite j'utilise la varaible list qu'il a créé qui va me permettre d'appeller chaque fichier qui passera dns ma boucle de calcul .

    merci encore je teste ca demain et te tien au courant.
    bonne nuit

  4. #4
    Membre averti
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Par défaut
    bonjour,

    me revoila,

    alors cela ne fonctionne pas car les fichiers que je veux ouvrir son des fichiers .mat donc si j'ai bien compris il faut plutôt utiliser ' load ' que 'fopen ' mais cela ne fonctionne pas avec une variable de type 'structure ' comme list.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sdneuro Voir le message
    il faut plutôt utiliser ' load ' que 'fopen '
    Je confirme

    Citation Envoyé par sdneuro Voir le message
    mais cela ne fonctionne pas avec une variable de type 'structure ' comme list.
    Est-ce parce que tu utilise cette syntaxe eval(['load ' pathname newname]) ?
    Il y a beaucoup plus propre qu'tiliser eval, et comme tu auras pu le voir dans la FAQ, on utilise fullfile pour concaténer le chemin et le nom du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    load(fullfile(pathname,newname))

  6. #6
    Membre averti
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Par défaut
    bonsoir,
    re,
    dabord, merci à toi pour tes réponses rapides et pertinantes.
    aprés avoir regardé dans le FAQ (encore merci de m'avoir guidé), je reformulais le code et cela fonctionne (sous la forme que tu as précisé, j'avvais trouvé lol).

    il va falloir que je reforme mes routines
    voici le code qui fonctionne trop bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    clear all
     
    rep = 'L:\bddtest\';
    ext = '*.mat';
    chemin = fullfile(rep,ext);
    list = dir(chemin);
     
     
    for n = 1 : numel(list)
        OF_se(n) = load(fullfile(rep,list(n).name))
             mean_FR(n) = length(OF_se(n).times)/max(OF_se(n).times);% exemple de calcul d'une variable d'un des fichiers
     
    end
    merci
    juste si tu pouvais me donner quelques précisions sur l'utilisation de ' numel '
    merci

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

Discussions similaires

  1. [XL-2010] Macro pour calculer automatique des pointages de questionnaire?
    Par sapage6 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/03/2015, 12h51
  2. [XL-2007] Formule pour calcul automatique si vente
    Par scoubart dans le forum Excel
    Réponses: 6
    Dernier message: 15/09/2014, 10h37
  3. [XL-2003] MAcro pour calcul automatique uniquement sur l'onglet actif
    Par Arndt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2010, 15h12
  4. update pour calcul pourcentage (SQL SERVER 2000)
    Par meufeu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/09/2005, 09h04
  5. Réponses: 2
    Dernier message: 01/04/2003, 22h09

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