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 :

Récupérer champ d'une structure


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 62
    Par défaut Récupérer champ d'une structure
    Bonjour,

    j'ai un problème.
    J'ai une fonction qui renvoie une structure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StructParamout=functionX;
    Je récupère les champs de la structure comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champs=fieldnames(StructParamout);
    Maintenant, comment récupérer les valeurs des champs?

    Je n'arrive pas à utiliser getfield sachant que je ne connais pas à l'avance el nom de mes champs.

    J'ai tenté un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:size(Champs,1)
        PARAMS(i)=getfield(StructParam,(Champs(i)));
    end%for
    Sans succès..
    Merci pour votre aide.

    Mailf

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Quel est l'intérêt de déplacer les valeurs vers une autre variable ?

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = 1:size(Champs,1)
        PARAMS{i} = StructParam.(Champs{i});
    end%for
    Tu peux aussi utiliser la fonction struct2cell

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 62
    Par défaut
    Super, merci pour ton aide.
    C'est bien ce que je cherchais à faire.
    J'avais un code plein d'appel à cette variable (Params), et je voulais pas tout réécrire avec la structure.
    Merci bcp.

    Mailf

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/07/2009, 14h15
  2. Réponses: 4
    Dernier message: 07/03/2008, 16h40
  3. ordre des champs dans une structure
    Par oussema dans le forum C
    Réponses: 8
    Dernier message: 08/03/2007, 18h42
  4. Adresse/offset du champs d'une structure
    Par ludo894 dans le forum C
    Réponses: 29
    Dernier message: 24/01/2007, 10h58
  5. Réponses: 4
    Dernier message: 10/04/2006, 09h28

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