convert day year hour data series with missing data to a serial number
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Katerina F
il 22 Ago 2014
Commentato: Katerina F
il 27 Ago 2014
I have a year of data from "01/01/2003 00:00" to "2003/12/31 23:59" with some days/hous missing from the data series. I think to convert these dates/times to serial numbers I have to use the datenum. To convert each one of these numbers I understand that I have to do: datenum(2003,1,1,0,0,0) which gives ans =
731582.00
This is fine for one number but how I can convert the whole series? thanks, Katerina
0 Commenti
Risposta accettata
Andrei Bobrov
il 26 Ago 2014
Modificato: Andrei Bobrov
il 26 Ago 2014
f = fopen('dates1.txt');
c = textscan(f,'%s %s','collectoutput',1);
fclose(f);
out = datenum(strcat(c{1}(:,1),{'_'},c{1}(:,2)),'dd/mm/yyyy_HH:MM');
or
f = fopen('dates1.txt');
c = textscan(f,'%s','delimiter','\n');
fclose(f);
out = datenum(c{1},'dd/mm/yyyy HH:MM')
4 Commenti
Andrei Bobrov
il 27 Ago 2014
Let your year: year1 = 2014
dt = datenum([2014 1 1 0 0 0;2014 12 31 23 0 0]);
out = (dt(1):1/24:dt(2))';
Più risposte (1)
Adam
il 22 Ago 2014
str{1} = '01/01/2003 00:00'
str{2} = '2003/12/31 23:59'
datenum( str )
ans =
1.0e+05 *
7.3158
7.3195
So you should just be able to put all your strings into a cell array and pass that in to datenum
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!