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] Tracé d'une colonne d'un tableau


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut [plot] Tracé d'une colonne d'un tableau
    bonjour tout le monde,
    j ai un tableau avec 8 colonne contient nombre de photon et en fonction d altitude allant de 1 jusqu a 16850
    je veux tracer seulement le contenu de colonne 3 en fonction d altitude mais a partir de 2000 m

    voila le tableau :
    Nom : Capture.PNG
Affichages : 6382
Taille : 201,4 Ko

    j ai esayer avec ce script mais marche pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    altitude=1:length(fic.data(:,1));
    figure; plot(fic.data(:,3),altitude);

    est ce que la colonne 3 pour matlab c 4 parceque 1 c'est l altitude a partir de 1 mais je veux seulement a partir de 2000 m avec un pas de 1500m et comment je puisse le faire en km

    merci d avance
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    voila le code je veux bien savoir si c correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    altitude=1:length(fic.data(:,1));
    figure; plot(fic.data(:,3),altitude);
    grid 
    ylabel('Altitude (m)')
    xlabel('nombre de photons')
    set(gca,'xlim',[0 12]);
    set(gca,'ylim',[0 30000]);
    title('Channel 3')

    et je veux bien que vous m aider pour avoir l altitude en km au lieux de metre

    merci d avance

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Bonjour ,
    y a t il une solution j ai presque 300 profil avec des tableaux comme celui la et j aimerai les afficher tous les courbes sur meme graphes

    merci

  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 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 166
    Points
    53 166
    Par défaut
    Pour générer un vecteur de 1 à 16850 par pas de 1500 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    altitude = 1:1500:16850;
    Pour faire commencer le vecteur à 2000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    altitude  = 2000:1500:16850;
    Pour ne tracer que les valeurs correspondantes, tu peux te servir du vecteur comme vecteur d'indices :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    figure
    plot(altitude, fic.data(altitude,3));
    grid 
    ylabel('Altitude (m)')
    xlabel('nombre de photons')
    set(gca,'xlim',[0 12]);
    set(gca,'ylim',[0 30000]);
    title('Channel 3')
    Pour la conversion m <=> km, il suffit de réfléchir un peu, non ?
    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)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    oui j ai bien compris merci beaucoup mais le probleme ce que j ai 300 profil et pour chacun j ai un tableau comme le tableau au dessus et je dois seulement travailler avec la colonne 3 comme j ai fai pour le premier profil
    le probleme je sais pas comme faire pour afficher tous les courbes de 300 profils sur meme graphe ?!!

    est ce que je dois enregister fic.data pour chaque profil et apres faire une boucle pour ça et comment

    meric d avance

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    SVP j ai pas bien compris pourquoi vous avez mis plot(altitude, fic.data(altitude,3)); altitude dans fic.data alors que je dois travailler sur tous les lignes de et seulement la 3eme colonne
    merci

  7. #7
    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 166
    Points
    53 166
    Par défaut
    Voici comment tu devras faire :

    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
    figure
     
    for n = 1:300
     
        filename = ...;
     
        fic = lecture_licel(filename);
     
        hold on 
        plot(altitude, fic.data(altitude,3));
     
    end
     
    grid 
    ylabel('Altitude (m)')
    xlabel('nombre de photons')
    set(gca, 'xlim', [0 12]);
    set(gca, 'ylim', [0 30000]);
    title('Channel 3')
    Reste à savoir comment tu peux retrouver automatiquement le nom des 300 fichiers. Tout dépend de l'arborescence de stockage de ces fichiers
    Tu pourras sans doute te servir de la fonction dir
    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)

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    pour une date precise d une journée les profils sont stocker dans un dossier avec une arbor par premier lettre qui indique le type lidar ici : t/ année / mois / jour/heure de mesure/min/second

    voila : Nom : figure.PNG
Affichages : 4382
Taille : 43,0 Ko

    est ce que vous pouvez m expliquer le code que vous avez ecris au dessus merci d avance

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Concernant le code de Jérôme, tu as une boucle for qui va tourner autant de fois que tu n'as de fichier (tu as annoncé 300, bah ta boucle va tourner 300 fois).
    Lors de l’exécution de la boucle, tu charges d'abord le nom de ton fichier, puis tu appliques ta fonction lecture_licel qui te permet de récupérer les données d'intérêt.

    Puis il affiche les données issues de la colonne 3 dans un plot. Pour garder les données sur le graphe, il utilise la fonction hold on, sinon, tu n'affiches que les données courantes.

    Conseil, n'hésites pas à utiliser la fonction doc "nom de la fonction" ou help "nom de la fonction". Ceci te renvoie aux infos d'intérêt sur les fonctions utilisées, des exemples, toussa...
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    oui merci beaucoup ça m a aidé pour comprendre le code
    merci

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    svp j arrive pas a lire mes fichier alors que j arrive a lire le dossier avec fonction dir

    ca marche mais comment je puisse lire et faire tourné tous les fichier avec cet boucle


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for n = 1:300
     
        filename = ...; ??§!!
     
        fic = lecture_licel(filename);
     
        hold on 
        plot(altitude, fic.data(altitude,3));
     
    end
    voila les fichier et chaque fichier quand je l ouvre sur matlab avec lecture licel il donne un tableau comme au dessus ou je dois utilise que la 1ere et 3emme colonne

    merci

    Nom : figure.PNG
Affichages : 4291
Taille : 43,0 Ko

  12. #12
    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 166
    Points
    53 166
    Par défaut
    Comme ceci :

    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
    pathname = 'E:\2013\04\04';
    files = dir(pathname);
     
    figure
     
    for n = 1:numel(d)
     
        filename = fullfile(pathname, files(n).name);
     
        fic = lecture_licel(filename);
     
        hold on 
        plot(altitude, fic.data(altitude,3));
     
    end
    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)

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    c'est comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    pathname = 'E:\2013\04\04';
    files = dir(pathname);
     
    figure;
     
    for n = 1:196
     
        filename = fullfile(pathname, files(n).name);
     
        fic = lecture_licel(filename);
     
        hold on 
        plot(altitude, fic.data(altitude,3));
    mais affiche un error

    Undefined function 'lecture_licel' for input arguments of type 'char'.
    
    Error in Untitled3 (line 10)
        fic = lecture_licel(filename);
    vraiment je comprend pas

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    les fichiers sont des données quand j les ouvre avec matlab avec la fonction lecture_licel ca ouvre dans workspace avec plusieurs d informations ou il y a le tableau fic.data au dessus la
    je bloque vraiment sur ça

    merci

  15. #15
    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 166
    Points
    53 166
    Par défaut
    MATLAB ne connait pas le chemin vers le fichier lecture_licel.m

    Ajoute ce chemin avec la fonction addpath au début de ton code.
    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)

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    ah je comprend maintenant
    merci beaucoup pour votre aide

Discussions similaires

  1. fixer largeur d'une colonne d'un tableau
    Par clairette dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/03/2007, 14h42
  2. [XSL~FO] Débordement dans une colonne d'un tableau
    Par palmelas dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 29/01/2007, 20h59
  3. [HTML] Pb pour inserer une colonne dans un tableau
    Par cchampion2fr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/11/2006, 11h41
  4. [CR11] Ajouter une colonne a un Tableau croisé
    Par tatayoyo dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/08/2006, 18h03
  5. [vb/excel] suppression d'une colonne d'un tableau
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2005, 10h17

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