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 :

récupérer le nom des fichiers textes vers legend [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut récupérer le nom des fichiers textes vers legend
    Bonjour

    Je souhaiterai pouvoir récuperer le nom de plusieur fichier texte que je sélectionne avec uigetfile, afin de les récuperer dans la légende de mon graphique. Le but étant de m'éviter de modifier la légende à chaque execution de mon programme.

    Voici le code utilisé :
    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
    61
    62
    63
    64
    65
    clear all
    close all
    % appel de fichier
    [FileName,PathName] = uigetfile('*.txt','sélectionnez les 8 fichiers texte', 'MultiSelect', 'on');
    cd(PathName);
    for n=1:8
        fullfile(PathName, FileName{n});
        h.fid{n} = fopen(fullfile(PathName,FileName{n}),'rt');
        for k=1:46
            fgetl(h.fid{n});
        end
        X{n}= fscanf(h.fid{n},'%f',[7,inf]).';
        fclose(h.fid{n});
     
        idx{n} = X{n}(:,4)>0;
        Xpos{n} = X{n}(idx{n},:);
        Xneg{n} = X{n}(~idx{n},:);
     
        h.meanneg{n}=mean(-Xneg{n}(:,4));
        h.meanpos{n}=mean(Xpos{n}(:,4));
     
        mupos{n}=smooth(Xpos{n}(:,4),1000,'moving');
        muneg{n}=smooth(-Xneg{n}(:,4),1000,'moving');
     
    end
     
    % Définition du nombre de couleurs
    nb_couleurs = 8;
     
    % Définition d'une colormap
    couleurs = hsv(nb_couleurs);
     
    % Création de la fenêtre
    h.fi=figure('color',[1 1 1], 'Units','pixels','position',[1 1 1680 929]);
     
    % Création de l'axe
    h.ax=subplot(2,1,1);
     
    % Définition des propriétés de l'axe
    set(h.ax, 'NextPlot', 'add'); % Permet de tracer toutes les courbes sur le même axe (sans effacer les précédentes).
    set(h.ax,'fontname','arial','fontsize',14);
    % Tracé des courbes
    for i_plot = 1:nb_couleurs
        plot(Xpos{i_plot}(:,3),mupos{i_plot},'color',couleurs(i_plot,:));
        xlabel('nombre de cycle', 'fontname','arial','fontsize',12,'fontweight','bold')
        ylabel('µ_a_p_p', 'fontname','arial','fontsize',12,'fontweight','bold')
        h.dx=legend('Ag 2.4mm (4-1)','Au 2.4mm (4-1)','Ag 2.4mm (5-1)','Au 2.4mm (5-1)','Ag 2.4mm (6-1)','Au 2.4mm (6-1)','Ag 2.4mm (7-1)','Au 2.4mm (7-1)','Location','Best');
        set(h.dx,'fontname','arial','fontsize',10);
        title({'Essais sur les échantillons Au 0.5µm et 1µm, 0.5N, 2000c, bille or et argent diamètre 2.4mm','Evolution du coefficient de frottement ','en fonction du nombre de cycles (partie positive)'});
    end
     
    % Création de l'axe
    h.bx=subplot(2,1,2);
     
    % Définition des propriétés de l'axe
    set(h.bx, 'NextPlot', 'add'); % Permet de tracer toutes les courbes sur le même axe (sans effacer les précédentes).
    set(h.bx,'fontname','arial','fontsize',14);
    for j_plot = 1:nb_couleurs
        plot(Xneg{j_plot}(:,3),muneg{j_plot},'color',couleurs(j_plot,:));
        xlabel('nombre de cycle', 'fontname','arial','fontsize',12,'fontweight','bold')
        ylabel('µ_a_p_p', 'fontname','arial','fontsize',12,'fontweight','bold')
        h.cx=legend('Ag 2.4mm (4-1)','Au 2.4mm (4-1)','Ag 2.4mm (5-1)','Au 2.4mm (5-1)','Ag 2.4mm (6-1)','Au 2.4mm (6-1)','Ag 2.4mm (7-1)','Au 2.4mm (7-1)','Location','Best');
        set(h.cx,'fontname','arial','fontsize',10);
        title({'Essais sur les échantillons Au 0.5µm et 1µm, 0.5N, 2000c, bille or et argent diamètre 2.4mm','Evolution du coefficient de frottement ','en fonction du nombre de cycles (partie négative)'});
    end

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Est-ce que ceci te convient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    1) tu récupères le nom de tes 8 fichiers
     
    2) tu stockes ces noms dans une variable leg
     
    leg = cell(8,1);
    leg{i} = nom du ième fichier
     
    à la fin tu fais
     
    legend(leg{:})
    J'utilise très souvent cette technique...pas très évoluée mais efficace

  3. #3
    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
    J'ai l'impression que je parle dans le vide des fois....
    http://www.developpez.net/forums/m4119481-3/

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/03/2010, 11h12
  2. Récupérer le nom des fichiers avec TListBox
    Par cincap dans le forum Débuter
    Réponses: 2
    Dernier message: 19/05/2009, 10h02
  3. Réponses: 2
    Dernier message: 01/04/2009, 13h54
  4. Réponses: 3
    Dernier message: 04/07/2008, 11h07
  5. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/12/2005, 23h19

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