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 :

Ajouter un champ dans une structure. [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut Ajouter un champ dans une structure.
    Bonjour à toutes et à tous

    J'ai une question relativement simple mais dont je ne trouve pas de solutions élégantes.

    J'ai une base de données sous forme de structure dans ce genre là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BDD = 
     
    79x1 struct array with fields:
     
        champ1
        champ2
        champ3
        champ4
    J'aimerai ajouter le champ numéro 5 contenant le string '10x05' pour tout les individus de ma BDD.

    J'ai essayé des codes assez simples du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BDD(:).champ5 = '10x05'
    qui naturellement de marche pas.

    Je me suis résolu à faire une boucle qui elle marche très bien. J'aimerai cependant m'affranchir de la boucle for si possible. Avez-vous une solution?

    Merci pour votre attention

  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
    La fonction deal fera ce que tu cherches à faire :


  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Merci bien, ça marche impeccable.

    Voici donc le code qui résout mon problème:


    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
     
    >> BDD
     
    BDD = 
     
    79x1 struct array with fields:
     
        champ1
        champ2
        champ3
        champ4
     
    >> [BDD(:).champ5] = deal('10x05')
     
    BDD = 
     
    79x1 struct array with fields:
     
        champ1
        champ2
        champ3
        champ4
        champ5
     
    >> BDD(55).champ5   % Un exemple
     
    ans =
     
    10x05

  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 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
    Légèrement plus court :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [BDD.champ5] = deal('10x05')
    Et au passage, tu devrais modifier le nom des champs, cela améliorerait la lisibilité de ton code.

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Oui, ce n'est pas les noms réels de mes champs, ma base de données ressemble en réalité à ça:

    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
    BDD = 
     
    79x1 struct array with fields:
     
        type_mesure
        orientation
        sexe
        nom
        chemin_visible
        chemin_rad
        chemin_distance
        moyennage
        nombre_objets
        materiaux
        type_objet
        taille
        position
        barycentre
        dimension_pixel
        distance
    Je les avais nommés sur le forum "champ1 champ2 ...' par soucis de généricité.

    Je me permets aussi de te demander la signification des [] dans [BDD.champ5] qui ici ne servent pas à la concaténation si je ne me trompe?

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

Discussions similaires

  1. Ajout de champ dans une table
    Par captainamerica75 dans le forum Access
    Réponses: 9
    Dernier message: 09/02/2006, 13h47
  2. ajouter un champ dans une table existant
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/10/2005, 21h27
  3. Ajouter un champ dans une autre base Access
    Par scaalp dans le forum Access
    Réponses: 2
    Dernier message: 20/10/2005, 15h34
  4. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 15h39
  5. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02

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