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 :

Remplissage d'une structure dans une boucle for


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut Remplissage d'une structure dans une boucle for
    Bonjour,

    J'ai une petite question à vous poser: Je dispose d'une structure, appelée YamlStruct, qui va contenir un certain nombre d'infos, provenant d'un fichier YAML. Aucun problème pour en importer un, tout va bien , YamlStruct contient les infos.

    Le truc c'est que j'ai plusieurs fichiers YAML!
    Ce que je voudrais, c'est pouvoir traiter les fichiers un par un, prélever les infos qui m'interessent (certains champs de YamlStruct), et apres faire des opérations sur ces infos.

    le probleme c'est que je n'arrive pas du tout à mettre la structure dans la boucle for, il me met la fameuse erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> ReadYaml
    Too many input arguments.
     
    Error in ==> recup_donnees at 31
                YamlStruct1 = ReadYaml('URO_01\IG_PVSIGR_Prostate%d.yaml',j);
    Alors que pourtant je lui dis juste de traiter le fichier IG_PVSIGR_Prostate%d ! non?

    Voici le reste du code de ma boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for j=1:numel(list)
     
                YamlStruct1 = ReadYaml('URO_01\IG_PVSIGR_Prostate%d.yaml',j);
     
                for i =1:numel(YamlStruct1.dosimetries.beams)
     
                    a=YamlStruct1.dosimetries.beams(i).dose_per_seance;
                    nom = sprintf('faisceauant%d.txt',i);
                    csvwrite (nom,a );
     
                end
                clear YamlStruct1
            end
    (j'ai mis un clear pour la vider a chaque fois mais rien a faire...)

    Je vous remercie par avance!!!

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

    Tu as bien utilisé sprintf pour ta deuxième boucle... pourquoi pas dans la première?
    YamlStruct1 = ReadYaml(sprintf('URO_01\IG_PVSIGR_Prostate%d.yaml',j));

  3. #3
    Nouveau membre du Club
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Salut, merci pr ta réponse

    Malheurusement il m'a ajouté une autre erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ??? Error using ==> fileread at 27
    Could not open file URO_01. Cannot open file. Existence? Permissions? Memory? . .
    ..
    Dont visiblement lui-même n'est pas convaincu de la nature ^^

    Auriez-vous une idée de ce que cela peut il être?

  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 : 53 163
    Points
    53 163
    Par défaut
    Un indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >> sprintf('\')
    Warning: Invalid escape sequence appears in format string. See help sprintf for valid escape sequences. 
     
    ans =
     
       Empty string: 1-by-0
     
     
    >> sprintf('\\')
     
    ans =
     
    \
    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
    Profil pro
    Physicien médical
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Physicien médical
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Ouaaaah mais comment je le sais ça^^

    Merci beaucoup Dut, c'est la fête chui trop content

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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