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 :

ecrire format fichier ASCII


Sujet :

MATLAB

  1. #1
    Membre confirmé
    ecrire format fichier ASCII
    Bonjour,

    J'ai un vecteur temps et data à écrire dans un fichier texte

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('TimeData','wt');
        fprintf(fid,'%d %d\n',[time data]);%.');
    fclose(fid);


    le temps est en version "matlab", j'aimerais donc un colonne avec un version friendly du temps:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    timeFriendly=datetime(time,'Format','yyyy-MM-dd''T''HHmmss','ConvertFrom','datenum');


    qui donne :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    [...]
    2019-06-05T033105


    et que j'aimerais maintenant ajouter au .txt

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('TimeData','wt');
        fprintf(fid,'%s %d %d\n',[timeFriendly time data]);%.');
    fclose(fid);


    mais %s n'est pas le bon format?

    une aide?

    Merci
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  2. #2
    Membre confirmé
    j'ai essayé:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('TimeData','wt');
        fprintf(fid,'%s %d %d\n',[char(timeFriendly) time data]);%.');
    fclose(fid);


    mais sans succès, le fichier se crée sans erreur mais impossible à ouvrir
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  3. #3
    Membre confirmé
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    formatOut = 'yyyy/mm/dd HH:MM:SS';
    fprintf(fid,'%s',datestr(myTime,formatOut))

  4. #4
    Rédacteur/Modérateur

    Le plus simple ici est d'utiliser une boucle :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fid = fopen('TimeData','wt');
        for n = 1:numel(time)
            fprintf(fid, '%s ', datestr(time(n), 'yyyy-MM-ddTHHmmss'));
            fprintf(fid, '%d %d\n', time(n), data(n));
        end
    fclose(fid);
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et 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 confirmé
    Merci !
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

###raw>template_hook.ano_emploi###