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 :

Tracer les données d'un fichier .mat


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut Tracer les données d'un fichier .mat
    Bonjour,
    j'aimerais pouvoir tracer sous matlab avec la fonction "plot" par exemple, un fichier .mat obtenu avec simulink. Mais je ne sais pas comment faire. Quelqu'un aurait-il une idée?

    Merci d'avance

  2. #2
    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
    Qu'est-ce que tu ne sais pas faire exactement ?
    Je ne vois pas bien où est le problème.
    Tu récupères tes données avec LOAD puis tu les traces avec PLOT

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut
    ca ne marche pas justement.
    je tape:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mat=load('sin')
    plot(sin,'r');
    xlabel('x'); 
    ylabel('y');
    title('test');
    grid on;
    Et j'obtiens l'erreur:
    ??? error using ==> plot
    Conversion to double from struct is not possible.

    Une idée?

  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
    Tiré de la documentation de LOAD :

    S = load(...) [...] If the file you are loading from is a MAT-file, then output S is a structure containing fields that match the variables retrieved. If the file contains ASCII data, then S is a double-precision array.
    Donc => : Qu'est ce qu'une structure ?

  5. #5
    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
    Relis bien l'aide de LOAD, ça explique tout.
    Quand tu fais :Aucune des variables du fichier sin.mat n'est chargée dans le workspace courant.
    Pour retrouver les valeurs de ces variables tu dois faire :
    mat.(le nom de la variable)

    Donc ta variable sin est inconnue au moment où tu l'appelles.
    Sauf que le message ne dis pas tout à fait ça car tu utilises comme nom de variable SIN ce qui est très dangereux car c'est le nom de la fonction sinus sous MATLAB.
    Je te conseillerais donc vivement de :
    1. Ne pas utiliser sin comme nom de variable
    2. Ne pas utiliser sin comme nom de fichier quelque soit l'extension

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut
    J'ai marqué "sin" dans mon message pour abréger le nom qui est plus long. Le problème ne vient pas du nom de mon fichier.

    Comment je peux tracer un graphe si le code que j'ai entré précédement me donne une structure?

    Peut-etre que je me suis mal exprimée avant..je vais réexpliquer le problème.
    Mon fichier .mat a été crée par Simulink lors d'une simulation, et j'aimerais l'utiliser maintenant sous matlab. Le but final est d'afficher les signaux de plusieurs fichiers.mat sur un même graphe pour les comparer...
    Ce que je n'arrive pas à faire, c'est lire correctement un fichier .mat avec matlab. Soit il me donne une erreur, soit un signal incohérent..

  7. #7
    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
    As-tu lu l'aide de LOAD, et nos messages ?

    Pour savoir ce qu'il y a dans ton fichier .mat plusieurs possibilités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    donnees=whos('monfichier')
    Te donne les noms de toutes les variables contenus dans ton fichier ainsi que leur type.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    clear all;%nettoyage du workspace
    load('monfichier');
    whos % pareil que précédemment sauf que là tu peux accéder aux données et donc à leur valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    S=load('monfichier')
    f=fieldnames(S) %les champs de la sturcture sont le nom des variables
    for k=1:length(f)
       S.(f{k}) %donne chaque valeur de chaque variable
    end

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

Discussions similaires

  1. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  2. Sauvegarder les données dans un fichier CSV
    Par beb30 dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2006, 13h06
  3. [VB 6.3] Traiter les données d'un fichier
    Par yaya54 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 21/02/2006, 14h00
  4. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  5. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37

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