SOS: How to use datenum for a vector ??
Mostrar comentarios más antiguos
today = datenum('20110609','yyyymmdd');
today =
734663
D = 20110609;
d = datenum('D','yyyymmdd')
d =
734504
Why cannot the above code work ???????????????????
d1 = datenum('20110610','yyyymmdd');
d2 = datenum('20110716','yyyymmdd');
d2-d1 % it gives me 36, number of days between these two dates
HOWEVER, if I have a vector of time D(N,1), N is more than 100 K.
It looks like this: (and not sorted)
maturity =
[20110618
20110619
20110716
20110718
20110719
20111217
...];
And I wanna to get a vector of tenor, from the date in the vector to today's date: 20110610.
How may I do that? Obviously I cannot type them in...
Any experts, plz help! Thx in advance!
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 10 de Jun. de 2011
2 votos
datenum('D') attempts to convert the string "D" to a date. With all the various default values that are applied when fields are missing, it comes out as being Jan 1 of the current year.
datenum(D) would use the value of the variable D. However, it is not valid to pass a scalar integer to datenum() to be converted.
datenum(cellstr(num2str(maturity)),'YYMMDD') would do your entire vector.
2 comentarios
Zoe
el 10 de Jun. de 2011
Fangjun Jiang
el 10 de Jun. de 2011
It reminds me the cellstr() function. Thanks!
Categorías
Más información sobre Time Series Objects en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!