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 :

Structures complexes dans une autre structure?


Sujet :

MATLAB

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Par défaut Structures complexes dans une autre structure?
    bonjour
    j'ai crée des objets qui sont des structures de différentes "structure".
    je voudrai tout regrouper dans un ensemble unique afin de le passer en paramètre à une fonction. mais dans un champs d'une structure, je ne peux pas mettre plusieurs dtructures de taille différentes: Exemple:

    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
    25
    26
    27
    28
    29
    objet.name='nom'
    objet.champ1='toto'
     
     objet2.name='nomobjet2'
     objet2.champ1='titi'
     
     objet3.mame='nomobjet3'
     objet3.champ1='machin'
     
     surobjet.nom='nomsurobjet'
     surobjet.composant(1)=objet
     
      surobjet.composant(2)=objet2
     
      % jusque la totu va bien car objet et objet1 on t la même structure
     
     % je peut adresser par
     surobjet.composant(2).champ1
     
     % et j'obtient 'titi'
     
     % si j'essai d'ajouter objet3 par la commande: 
     surobjet.composant(3)=objet3
     
     % j'obtiens: " Subscripted assignment between dissimilar structures."
     
     % existe-t-il une méthode pour regrouper dans un objet un nombre N de
     % structures de composition différentes ?
    % Merci

  2. #2
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Salut,

    Je te propose de créer un tableau de structures.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    surobject(1).composant=object1;
    surobject(2).composant=object2;
    surobject(3).composant=object3;
    A+

  3. #3
    Expert confirmé
    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
    Par défaut
    Normalement cela devrait fonctionner. Es-tu sûr de ne pas avoir une faute de frappe ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objet3.mame='nomobjet3'
    C'est pas plutôt name ?
    Sinon si effectivement les champs sont différents, la solution de Rostomus est la bonne.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Par défaut résolu
    Merci à Rostomus pour la solution proposée, elle répond à mon besoin. je n'ai as eu trop de modification à faire pour que les fonctions acceptent les objets de base ainsi modifiés.
    Pour Caro c'était une faute en recopiant le code mais les structures sont bien différentes...

    C'est très efficace l'approche par structures mais pas si facile, il faut un peu de méthode et sans doute plus d'expérience.
    Par contre, j'ai un peu de mal à bien visualiser les structures de données imbriqués (différence entre toto(4).titi et toto.titi(4) je ne vois pas bien pourquoi l'un marche et l'autre pas... ). Il me faudrait un tutorial sur les structures ! (si cela existe!)

    pb résolu

  5. #5
    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
    Citation Envoyé par cata2 Voir le message
    différence entre toto(4).titi et toto.titi(4)
    Le premier est un tableau de structures (structures empilées) alors que le second est une structure de tableau (champs empilées dans une structure) ...c'est l'explication rapide

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2012, 16h40
  2. Utiliser structure tm dans une autre structure
    Par Mélodie_et_rythmes dans le forum C
    Réponses: 9
    Dernier message: 01/04/2012, 13h03
  3. [JNA] - Pointeur de structure dans une autre structure
    Par John.BE dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 24/02/2012, 15h02
  4. Réponses: 2
    Dernier message: 14/02/2011, 15h56
  5. Copier une structure dans une autre
    Par rvzip64 dans le forum Langage
    Réponses: 9
    Dernier message: 11/02/2008, 17h48

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