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 :

[datenum] comportement étrange


Sujet :

MATLAB

  1. #1
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut [datenum] comportement étrange
    Hello

    ci dessous un problème à la con :

    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
    >> datenum('02/06/1975','dd/mm/yyyy')
    Error using datenum (line 181)
    DATENUM failed.
    
    Caused by:
        Error using dtstr2dtnummx
        Failed on converting date string to date number.
     
    >> datenum('02/06/1975','dd/mm/yyyy')
    
    ans =
    
          721507
    
    >> datenum('02/06/1975','dd/mm/yyyy')
    Error using datenum (line 181)
    DATENUM failed.
    
    Caused by:
        Error using dtstr2dtnummx
        Failed on converting date string to date number.
     
    >> datenum('02/06/1975','dd/mm/yyyy')
    
    ans =
    
          721507
    hé oui !! bizarre non
    pas la peine d'essayer de se jeter sur votre MCW pour le reproduire, ca marchera
    en effet, si je fais une clear all et que je recommence, cette fois ci ça marche nickel

    en fait je me retrouve dans cette situation à la sortie d'un script qui s'est exécuté sans problèmes

    ci dessous un code qui vous permettra de générer ce problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clear
    % avec un clear all, cela marche à chaque fois
     
    % tableau de dates sous formes de strings
    cDate = datestr(now-365:now,'dd/mm/yyyy');
     
    % convertion en nombre
    vDate = datenum(cDate,'dd/mm/yyyy');
     
    % convertion en temps
    % ligne qui pose problème
    vDateSim = vDate - vDate(1);
    en lançant ce code plusieurs fois d'affilée, il plantera une fois sur deux !!!
    si vous commentez la dernière ligne (et faites un clear all) cela marchera nickel

    une idée ?

    Fab

    ps : je ne suis pas le seul : http://www.mathworks.com/matlabcentral/answers/82586

    ps2 : par habitude je ne fais plus de clear all, mais des clear tout simple afin de conserver les éventuels breakpoints que j'aurais mis dans mon code (hors script principal bien sur)

  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 166
    Points
    53 166
    Par défaut
    Il faut être en mode debug pour reproduire le bug ?

    De toute façon, sans le code source du fichier MEX, ben... reste plus qu'à contacter le support MathWorks.
    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
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    normalement non

    edit : tu m'as mis le doute, j'ai fermé puis ré ouvert mon matlab ... et je n'ai plus le bug ... grrr
    je creuse et je reviens

  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
    Quelle version de MATLAB utilises-tu ?
    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
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    ouais bon ... je n'arrive plus à reproduire mon bug
    flute !!

    probablement une interaction avec un autre problème que j'ai déclenché ailleurs en phase de débug
    mais fermer matlab et le réouvrir a tout résolu

    bon c'est pas la première fois que je tombe sur ce problème
    je suppose que ca doit être lié à la gestion de la mémoire par matlab étant donné que clear all corrige partiellement le problème et que fermer / réouvrir matlab le corrige totalement
    et aussi étant donné le petit script ci dessus qui m'as permis de le reproduire à volonté ... jusqu'à ce que je ferme matlab

    pour info je suis en 2011b

    je laisse ouvert au cas ou quelqu'un ai déjà rencontré ce problème
    mais bon, je note une premiere solution consiste à fermer matlab

    Fabien

Discussions similaires

  1. [Forms6i] Un IF-ELSIF au comportement étrange
    Par lafouine dans le forum Forms
    Réponses: 11
    Dernier message: 13/09/2005, 15h40
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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