Bonjour à tous,
Je fais appel à votre aide car je n'arrive pas à tracer mes valeurs de températures en fonction de l'heure (HH:MM:SS) sous Octave.
Je n'ai aucun problème sur l'extraction des données du fichier d'origine qui est un .CSV . Je sors de la lecture de ce fichier une matrice K dans laquelle les 6 premières colonnes correspondent dans l’ordre à l'année, le mois, le jour, heure, minute, seconde. Les colonnes suivantes correspondent aux valeurs de températures des différents thermocouples.
Mon problème vient du pas de temps, qui est de 20s. En fait, j'arrive à tracer la température en fonction du temps, avec l'heure sous la forme HH:MM:SS. Mais je n'arrive pas à faire correspondre à chaque point l'heure qui lui correspond. Ce qui est génant!! J'ai essayé de mettre le pas de temps suivant (20/3600)/24 qui correspond à ce que représente 20s dans 24h, mais sans succès. Je ne pas comment on doit fixer ce pas de temps dans Octave, lors de la définition du x_tick.
L'idée est que le tracé soit automatisé, c'est à dire que l'on ait pas besoin de rentrer une heure de début et de fin puisqu'elles sont contenues dans le .CSV.
Peut être que je m'y prends mal pour créer le vecteur temps, je fais ça en autodidacte...
Ci joint vous trouverez le tracé de la courbe actuel, un aperçu de la matrice k en question et le fichier brut .CSV des températures avec les heures initiale et finale.
Pouvez vous m'aidez?? N'hésiter pas à me poser des questions si ma demande n'est pas claire.
Étienne
Voici le code:
clear all; close all; clc;
nomtemp=('temp_11020918.CSV');
k=dlmread(nomtemp,'/,:',1,0);
datejour=[k(:,1) k(:,2) k(:,3) k(:,4) k(:,5) k(:,6)];
v = datevec(datejour);
dateo=datenum(datejour);
figure(1)
k=dlmread(nomtemp,'/,:',1,0);
datejour=[k(:,1) k(:,2) k(:,3) k(:,4) k(:,5) k(:,6)];
dateo=datenum(datejour);
plot(k(:,9));
xlabel('Heure');
grid('on');
i=length(dateo);
x_tick=dateo(1)20/3600)/24:dateo(i);
set(gca,'XTickLabel',cellstr(d atestr(x_tick,'HH:MM:SS')))
-----