Partage
  • Partager sur Facebook
  • Partager sur Twitter

[NumPy & SciPy] Création d'une structure matlab

Structure de plusieurs dimensions(au lieu de cell de struct)

    27 juillet 2011 à 11:05:36

    Bonjour à tous,

    J'utilise NumPy/SciPy pour créer une structure de données en python, que je souhaite par la suite exploiter sous Matlab.

    Je suis parti du principe que un dictionnaire python correspond à une structure matlab. J'ai voulu inclure une liste de dictionnaires (b et c, qui ont tous les mêmes champs : name et value) dans un dictionnaire : a.

    Pour l'instant, mon script d'exemple fait celà :

    Script Python :
    b={'name':'aaa', 'value':3}
    c={'name':'bbb', 'value':5}
    a={'field':[b, c]}
    scipy.io.savemat('saved_struct.mat', a)
    


    Résultat sous Matlab :

    Citation

    >> a=load('Z:\...\saved_struct.mat')
    a =
    field: {2x1 cell}

    >> a.field
    ans =
    [1x1 struct]
    [1x1 struct]



    "field" est une cellule 2x1, je dois faire a.field{1} ou {2} pour accéder aux 2 sous-structures.

    Je souhaiterais que ma structure "a" ressemble plutot à ceci :

    Structure sous Matlab :

    Citation

    b =
    name: 'aaa'
    value: 3

    c =
    name: 'bbb'
    value: 5

    >> a.field=[b,c]
    a =
    field: [1x2 struct]

    >> a.field
    ans =
    1x2 struct array with fields:
    name
    value



    "field" n'est plus une cellule, mais une structure à 2 dimensions. J'accède aux 2 sous-structures par : a.field(1) ou (2).

    Comment créer une telle structure en Python ???
    J'ai pensé utiliser les "array()" de NumPy. J'ai du mal avec les dtypes.
    Il faut que je rajoute d'autre structures (name, value), pour avoir une structure de dimension 1xn au final. Mais je n'arrive pas à utiliser numpy.append pour faire celà.

    Un grand MEEEERCIII d'avance pour votre aide !! Je rame.... :(
    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2011 à 16:20:30

      Je te conseille de te renseigner sur les namedtuples
      • Partager sur Facebook
      • Partager sur Twitter
      yjltg.

      [NumPy & SciPy] Création d'une structure matlab

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown