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 :

titre d'un graphique à partir de l'adresse du "current directory"


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Points : 31
    Points
    31
    Par défaut titre d'un graphique à partir de l'adresse du "current directory"
    Bonjour à tous,

    Je souhaiterais savoir si il y a une possibilité d'utiliser une partie de l'adresse du "current directory " pour nommer un graphique ?

    j'ai vu que l'on pouvais utiliser la fonction "pwd" pour sélectionner automatiquement l'adresse du "current directory" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name=strcat(pwd,'_HsurV');
    à savoir mon adresse correspond à : C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32

    Mais bon comme titre de graphique ce n'est pas génial ^^

    J'aimerai récupérer seulement le : "marteauV"

    Est-ce que quelqu'un à une idée ?

    Si il n'existe pas de fonction prédéfinies, peut-être une boucle qui lit le "current directory" et si dans cette adresse il y a marteauV alors écrire marteauV en titre ?

    Merci par avance pour votre aide

    Vincent

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    salut,
    tu as la fonction fileparts

    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
     
    >> pwd
     
    ans =
     
    C:\Desktop\Softs\03-Script_Matlab
     
    >> [a,b,c] = fileparts(pwd)
     
    a =
     
    C:\Desktop\Softs
     
     
    b =
     
    03-Script_Matlab
     
     
    c =
     
         ''

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Points : 31
    Points
    31
    Par défaut
    Ah c'est pas mal, mais je n'arrive pas à la paramétrer de manière à récupérer seulement le "marteauV",

    De plus j'aimerais rendre ça automatique car il y a 4 possibilité de nom que je souhaite récupérer :
    - marteauV
    - boule
    - marteauH
    - VibP

    à chaque fois ces 4 noms seront après le 0.25 de " C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32 "

    Je souhaite juste récupérer cette partie après le 0.25 et avant le 32 ou alors récupérer " 0.25\marteauV\32 me convient aussi

    Merci par avance pour votre aide

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    tu peux utiliser plusieurs fois la fonction fileparts.

    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
    >> str = 'C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32'
     
    str =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32
     
    >> [path,~,~] = fileparts(str)
     
    path =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV
     
    >> [~,rep_voulu,~] = fileparts(path)
     
    rep_voulu =
     
    marteauV

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Points : 31
    Points
    31
    Par défaut
    Ah merci beaucoup Dombrai ça marche très bien

    Voilà ce que j'ai fait :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    >> str = pwd
     
    [path1,a] = fileparts(str)
     
    [a,rep_voulu1] = fileparts(path1)
     
    [path2,b] = fileparts(path1)
     
    [b,rep_voulu2] = fileparts(path2)
     
    [path3,c] = fileparts(path2)
     
    [c,rep_voulu3] = fileparts(path3)
     
    str =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\30
     
     
    path1 =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV
     
     
    a =
     
    30
     
     
    a =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25
     
     
    rep_voulu1 =
     
    marteauV
     
     
    path2 =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25
     
     
    b =
     
    marteauV
     
     
    b =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30
     
     
    rep_voulu2 =
     
    0
     
     
    path3 =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30
     
     
    c =
     
    0
     
     
    c =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv
     
     
    rep_voulu3 =
     
    com 30
    Seul problème pourquoi en "rep_voulu3" j'obtiens " 0 " et pas " 0.25 " ??

    Ps : En renommant le dossier "0.25" en "0,25" cela fonctionne

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur en analyse décisionnelle
    Inscrit en
    Juin 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en analyse décisionnelle

    Informations forums :
    Inscription : Juin 2013
    Messages : 113
    Points : 133
    Points
    133
    Par défaut
    Les possibilités pour traiter une chaîne de caractères sont pratiquement infinies.

    Il est possible de s'amuser à souhait, selon le niveau de robustesse désiré et en connaissance de nos possibilités pour simplifier le problème.

    Ceci fonctionnera à condition que "a" ne contienne qu'une seule fois un des éléments de "b" et que "b" ne contienne évidemment pas de doublon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >> a = {'C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32'}
    a = 
        'C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32'
    >> b = {'marteauV','boule','marteauH','VibP'}
    b = 
        'marteauV'    'boule'    'marteauH'    'VibP'
    >> cell2mat(b(~cellfun(@isempty,cellfun(@strfind,a(ones(1,numel(b))),b,'UniformOutput',false))))
    ans =
    marteauV

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Points : 31
    Points
    31
    Par défaut
    d'accord merci beaucoup ça à l'air plus compliqué ^^

    Merci à tous pour votre aide

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur en analyse décisionnelle
    Inscrit en
    Juin 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en analyse décisionnelle

    Informations forums :
    Inscription : Juin 2013
    Messages : 113
    Points : 133
    Points
    133
    Par défaut
    Voilà plus simple, considérant que tu as toujours "\0.25\" avant et "\32" après et que ceci n’apparaît qu'une seule fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >> a = 'C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30\0.25\marteauV\32';
    >> a((strfind(a,'\0.25\')+6):(strfind(a,'\32')-1))
    ans =
    marteauV

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    pour revenir sur la question

    Seul problème pourquoi en "rep_voulu3" j'obtiens " 0 " et pas " 0.25 " ??

    Ps : En renommant le dossier "0.25" en "0,25" cela fonctionne
    essaye

    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
     
    [path,nom,ext] = fileparts(path2)
     
    path =
     
    C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30
     
     
    nom =
     
    0
     
     
    ext =
     
    .25
    en gros, matlab considere le point "." comme étant le séparateur entre un fichier et son extension. La il te dit que l'objet en question est un fichier, qu'il se trouve dans le repertoire "C:\Documents and Settings\Administrateur\Bureau\geopsy\graph hv\com 30", que son nom est "0" et que son extension est ".25", comme tu pourrais avoir ".doc" ou ".mat"

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/05/2008, 09h53
  2. [JpGraph] Générer un graphique à partir d'une requête
    Par shun dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/01/2006, 19h24
  3. vba excel - Donner un titre a un graphique en vba
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/11/2005, 09h13
  4. Réponses: 3
    Dernier message: 03/11/2005, 16h04
  5. Réponses: 6
    Dernier message: 12/10/2004, 19h12

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