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 :

Problèmes avec datestr


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut Problèmes avec datestr
    Re Slt,

    C'est encore moi ...

    J'utilise ce code pour faire importer les données d'un fichier Excel avec le bon format de dates :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [num,txt]= xlsread('Essai.xls','test')
    taill=size(num,1)
    for i=1:taill
       h(i)=datenum(num(i),'dd/mm/yyyy')
    end
    a=datestr(h,'dd/mm/yyyy')
    Le fichier Essai.xls est le suivant :
    Date X
    31/12/1985 2,08
    02/01/1986 1,17
    03/01/1986 0,81
    The output in Matlab :
    a =

    31/12/0085
    02/01/0086
    03/01/0086
    Donc il y a un problème pour l'affichage des années ???

    Merci pour votre aide

  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 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
    Bonjour,

    la solution se trouve dans l'aide de XLSREAD :

    % Convert the data to MATLAB dates like this:
    %
    % excelDates = xlsread(FILENAME)
    % matlabDates = datenum('30-Dec-1899') + excelDates
    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [num,txt]= xlsread('Essai.xls','test');
    a=datestr(datenum('30-Dec-1899') + num(:,1),24)

  3. #3
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Salut,

    Que te retourne le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a='31/12/1985';
    b=datenum(a,'dd/mm/yyyy')
    datestr(b,'dd/mm/yyyy')
    Normalement ça doit te retourner :

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    Merci pour vos réponses, c'est résolu au niveau de l'affichage mais au niveau du
    graphic c'est toujours le même problème sur l'axe des abscisses quand je retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    plot(h,num,'-*')
    datetick('x','dd/mm/yyyy')
    Merci d'avance

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [num,txt]= xlsread('Essai.xls','test');
    a=datenum('30-Dec-1899') + num(:,1);
     
    figure
    plot(a,num(:,2),'r+')
    datetick('x',24)

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    Merci Dutmatlab pour ta réponse rapide.

    j'ai essayé ton code mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> plot
    String argument is an unknown option.
     
    Error in ==> C:\MATLAB6p5\work\Dataexcel.m
    On line 11  ==> plot(a,num(:,2),'-*')
    J'ai remplacé a dans la fonction plot par h ce qui m'a donné le graphic mais le problème d'affichage des dates sur l'axe des x n'est pas résolu :
    31/12/0085, 02/01/0086, 03/01/0086

  7. #7
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Je pense qu'il reconnait pas '-*' comme option

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Par défaut
    si , j'ai fais des graphic avec cette option et ça marche trés bien sauf que j'ai des formats en chiffres sur l'axe des abscisses.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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