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

Interfaçage autre langage Python Discussion :

correspondance entre Matlab et Python


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut correspondance entre Matlab et Python
    Bonjour,

    Je ne sais pas trop si mon post est dans la bonne section mais je me lance quand même

    Je tente de convertir du code matlab en python et j'ai un problème de récupération de donnée:
    En matlab, j'ai ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res= load(mon_fichier, '-mat');
    J'ai pu trouver la fonction loadmat en python :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    from scipy.io.matlab import mio
    res = mio.loadmat("mon_fichier.mat");
    Jusque là ça va mais maintenant je dois récupérer une donnée précise dans mon res et je n'arrive pas à trouver comment accéder à ma donnée avec python.
    en matlab j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tmp = (res.Result.Signal{1,i}.Z)'
    Si je tente la même ligne de code avec python, j'obtiens une erreur.

    Est ce qu'il existe une fonction qui me permet de récupérer le clef de ma donnée? ou autre ?

    Je débute en python et je suis un peu paumée

    Merci pour votre aide

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Salut,

    A tout hasard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = res.Result.Signal[1,i].Z

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Salut Julien,

    J'avais tenté cette possibilité (et celle avec les () ) mais j'ai toujours la même erreur:

    Traceback (most recent call last):
    File "C:\Users\us_libre\Desktop\eclipse\Test\src\root\nested\example.py", line 45, in <module>
    tmp = asarray(res.Result.Signal[1,1].Z);
    AttributeError: 'dict' object has no attribute 'Result'

    Du coup je pense que c'est à cause du loadmat en python qui ne correspond pas au load en matlab.

    Mais merci pour la réponse

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    En fait, il faudrait peut-être que tu fournisses ton fichier ou un morceau.
    C'est quoi Result.Signal ?
    Pas d'aide par mp.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Nom : Capture.JPG
Affichages : 675
Taille : 57,9 Ko


    Le code n'est pas de moi mais d'un stagiaire précédent.

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé ce document:
    https://scipy.github.io/old-wiki/pag...mat_files.html

    Du coup, mon code python devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tmp= res['resultat']['Result']['Signal(':')'];
    Mais maintenant j'ai un problème au niveau du Signal :

    Traceback (most recent call last):
    File "C:\Users\us_libre\Desktop\eclipse\Test\src\root\nested\example.py", line 24, in <module>
    tmp= res['resultat']['Result']['Signal(':')'];
    IndexError: invalid slice


    resultat et result sont des structures (matlab -- en python elles deviennent des list ? ) et Signal est une matrice.

  7. #7
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Juste au cas où : scilab est plus proche de matlab que python.
    Pas d'aide par mp.

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Merci marco056 mais je dois utiliser python, c'est un peu l'objectif du stage

  9. #9
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Peux-tu faire ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tmp= res['resultat']['Result']['Signal']
    print(tmp)
    print(type(tmp))
    Pas d'aide par mp.

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    J'obtiens cette erreur :

    tmp= res['resultat']['Result']['Signal']
    IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

  11. #11
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Ce serait plus simple si tu pouvais joindre ton fichier.
    Là, je ne vois pas.
    Pas d'aide par mp.

  12. #12
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Je ne peux malheureusement pas le joindre.

    Mais en fait quand je fais size, j'obtiens 1. Du coup, le problème est au niveau du fichier, que je ne peux pas modifier et je dois donc faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tmp= res['resultat']['Result'][0]['Signal']['Z'];
    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/11/2005, 14h25
  2. Correspondance entre formulaire et etat
    Par Marmouz dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 17h26
  3. Réponses: 9
    Dernier message: 02/09/2005, 15h44
  4. correspondance entre noms (bases et tables) et répertoires
    Par Eärendil dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/05/2005, 14h21

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