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 :

Structure containers.map : Mettre plusieurs clés


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 200
    Par défaut Structure containers.map : Mettre plusieurs clés
    Bonjour à tous, je n'ai jamais utilisé des structures Map de matlab et j'ai besoin d'un peu d'aide

    Quelqu'un sait comment lui donner 3 clés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    keySet_contrepartie =   {'BNP', 'CIC', 'LCL', 'CA'};
    keySet_date =   {'001', '002', '003', '004'};
    keySet_maturite={'1', '2', '3', '4'};
    Et quand je lui demande la valeur il me sort celle qui correspond, par exemple CIC,002,3 donne une valeur, LCL,002,3 donne une autre valeur.

    En fait pour chaque valeur de keySet_contrepartie il y a 4 dates et pour chacune des 4 dates il y'a 4 maturités.

    Comme a je pourrais simplement appelé une valeur.

    Mais je pensais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mapObj1 = containers.Map(keySet_contrepartie,keySet_date)
    mapObj2 = containers.Map(mapObj1,keySet_date)
    mapObj3 = containers.Map(mapObj2,value)
    Mais dès la création de mapObj2 j'ai un problème.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 200
    Par défaut
    Je viens de faire un nouvel essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    keySet_month =   {'Jan', 'Feb', 'Mar', 'Apr'};
    keySet_week=   {'pre', 'deux', 'trois', 'qua'};
    keySet_day =   {'lun', 'mard', 'merc', 'jeud'};
    valueSet = [327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4];
     
    containers.Map(keySet_month,containers.Map(keySet_week,containers.Map(keySet_day,valueSet)))
    J'ai cette erreur :

    Error using containers.Map
    The number of keys and values must be the same.
    Une idée comment gérer ce problème.

  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
    Bonjour,

    Citation Envoyé par diego45 Voir le message
    En fait pour chaque valeur de keySet_contrepartie il y a 4 dates et pour chacune des 4 dates il y'a 4 maturités.

    [...]

    J'ai cette erreur :

    Error using containers.Map
    The number of keys and values must be the same.
    Une idée comment gérer ce problème.
    D'après ce que j'ai compris tu es sensé avoir 4*4*4 = 64 valeurs

    valueSet = [327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4];
    Tu n'en as que 12?

    Cependant je n'ai mon non plus jamais utilisé de structure MAP, je me trompe peut être!

    Gooby

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 200
    Par défaut
    Je pense que le problème vient de là effectivement !

    Je viens de tester ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    keySet_month =   {'Jan', 'Feb'};
    keySet_week=   {'pre', 'deux', };
    keySet_day =   {'lun', 'mard', };
    valueSet = [327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4];
    >> containers.Map(keySet_month,containers.Map(keySet_week,containers.Map(keySet_day,valueSet)))
    Toujours la même erreur

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

    Une map est constituée de paires (key, value), où chaque key correspond à une unique value.
    Décortiquons ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    keySet_day =   {'lun', 'mard', };
    valueSet = [327.2, 368.2, 197.6, 178.4,327.2, 368.2, 197.6, 178.4];
    containers.Map(keySet_day,valueSet)
    ici keySet_day possède deux éléments, alors que valueSet en a 8.

    Pour les autres niveaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    keySet_week=   {'pre', 'deux', };
    containers.Map(keySet_week,containers.Map(keySet_day,valueSet)))
    keySet_week a deux éléments, alors que containers.Map(keySet_day,valueSet)) (une fois rectifié) ne représente qu'un seul objet Map.

Discussions similaires

  1. [langage] mettre plusieurs lignes en commentaire
    Par perlaud dans le forum Langage
    Réponses: 7
    Dernier message: 14/04/2008, 18h35
  2. mapping de plusieurs clés
    Par Esil2008 dans le forum Hibernate
    Réponses: 2
    Dernier message: 19/07/2007, 17h32
  3. [langage] mettre plusieurs lignes en commentaire
    Par perlaud dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2004, 15h32
  4. [EJB2.1 Entity] [BES] Mapping automatique et clés étrangères
    Par Bobby McGee dans le forum Java EE
    Réponses: 3
    Dernier message: 15/10/2003, 10h33
  5. Comment mettre plusieurs objets ds un composant ?
    Par Fleury dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/05/2003, 17h34

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