SOS: How to use datenum for a vector ??
Ältere Kommentare anzeigen
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!
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 10 Jun. 2011
2 Stimmen
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 Kommentare
Zoe
am 10 Jun. 2011
Fangjun Jiang
am 10 Jun. 2011
It reminds me the cellstr() function. Thanks!
Kategorien
Mehr zu Time Series Objects finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!