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 :

Plot 2D à partir d'une matrice


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Plot 2D à partir d'une matrice
    Bonjour à tous, j'ai un petit soucis concernant une matrice de dimensions 2200x12 sous Matlab(R2018a).
    Cette matrice contient pour la colonne 1 des années (2000-2006), la colonne 2 les mois de ces années(1-12), la 3ème les jours(1-31) et les autres colonnes (les 9 autres restantes) contiennent des données sur 9 paramètres (vitesse vent, pluviométrie etc).
    Mon but étant d'avoir sur un graphe en abscisse les 3 premières colonnes et en ordonnées les 9 paramètres.
    Étant novice sur Matlab je ne vois pas trop comment faire.
    Merci de pouvoir m'éclairer sur ce problème.

  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 302
    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 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t = datetime(M(:,1), M(:,2), M(:,3));
     
    figure
    plot(t, M(:, 4:end))
    Plus d'infos : Plot Dates and Durations
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je vais essayer ce code. Merci beaucoup !

    Par contre, j'ai des NaN dans mes données, comment faire pour ignorer les lignes qui en contiennent ?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Re-bonjour, toujours pour la même matrice mais je souhaite mettre 3 courbes sur le même graphe mais avec ce code je n'y arrive pas :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     load('MAT_BARILOCHE_STAGE.mat')
     
    SAOD_BAR=MAT_JOURS(:,7)'; % VISIBLE (550 nm)
     
    Vect=numel(SAOD_BAR(1,:));
    MAT_YEAR=MAT_JOURS(:,1);
    MAT_MOIS=MAT_JOURS(:,2);
     
    u=0;
    for j=2012:2017
    u=u+1;
     
    BLOC_1=find(MAT_YEAR(:,1)==j);
    BLOC_ANNEE_T=SAOD_BAR(:,BLOC_1);
     
    k=0;
    for t=1:12
    k=k+1;    
        x1=find(MAT_MOIS(BLOC_1,1)==t);
            if numel(x1)==0;
                    MOY_J=NaN;
                    DEV_J=NaN;
        elseif numel(x1)==1;
                 MOY_J=NaN;
                 DEV_J=NaN;
            else     
                 MOY_J1=nanmean(BLOC_ANNEE_T(:,x1));
                 DEV_J1=nanstd(BLOC_ANNEE_T(:,x1));
        MOY_J=MOY_J1;
        DEV_J=DEV_J1;
        end
     
       MOY_T(k,1)=MOY_J;
       DEV_T(k,1)=DEV_J;
    end
     
    Matrice(:,u)=MOY_T;
    Matrice_dev(:,u)=DEV_T;
     
    end
     
    r1=numel(Matrice(1,:));                 % Stockage des valeurs de "Valeur" dans une matrice colonne. 
    o1=0;
    for m1=1:r1
        for m11=1:numel(Matrice(:,1));
    o1=o1+1;
        values11=cat(1,Matrice(m11,m1));
        SAOD_MENS(o1,:)=values11;
        end
    end
     
    r11=numel(Matrice_dev(1,:));                 % Stockage des valeurs de "Valeur" dans une matrice colonne. 
    b1=0;
    for m11=1:r11
        for m111=1:numel(Matrice_dev(:,1));
    b1=b1+1;
        values111=cat(1,Matrice_dev(m111,m11));
        SAOD_DISP(b1,:)=values111;
        end
    end
    Je m'explique j'ai déjà les données pour une courbe (550nm= données pour cette longueur d'onde) et je souhaite avoir deux autres courbes avec 2 longueurs d'onde différentes (800nm et 650nm) mais en ayant les 3 courbes sur le même graphe. Merci.

Discussions similaires

  1. Extraire les vecteurs à partir d'une matrice
    Par samia_6 dans le forum MATLAB
    Réponses: 1
    Dernier message: 15/10/2007, 23h06
  2. Extrapolation de données à partir d'une matrice
    Par Kcyril dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/04/2007, 09h52
  3. Réponses: 1
    Dernier message: 30/04/2006, 14h24
  4. Réponses: 1
    Dernier message: 19/01/2006, 19h36
  5. Map à partir d'une matrice
    Par Aldur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 20h45

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