Convert to serial using only year and month (no day)

2 次查看(过去 30 天)
Is there a way to convert from matrix A (5x3) where the first element is year and the second element is month (no day element) to a serial number in matrix B (5x2)?
A=...
[2013 12 0.6;
2013 12 0.8;
2014 1 0.5;
2014 2 0.1;
2014 2 0.7]
Answer should be:
B=...
[serial1 0.6;
serial1 0.8;
serial2 0.5;
serial3 0.1;
serial3 0.7]
Where serial1 is a number for 'Dec-2013' and so on. Thanks

采纳的回答

Guillaume
Guillaume 2014-12-20
A date number (serial) has to have a day (and hour, minutes, seconds, if not given, the default is 0:0:0), so use the first of the month for example:
A = [2013 12 0.6; 2013 12 0.8; 2014 1 0.5; 2014 2 0.1; 2014 2 0.7];
B = [datenum(A(:, 1), A(:, 2), 1) A(:, 3)]

更多回答(1 个)

dpb
dpb 2014-12-20
Sure, just use an arbitrary day -- '1' would be a logical choice although you could choose any day within the month.
B=[datenum(A(:,1), A(:,2), 1) A(:,3)];

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by