I want to create an hourly date/time (366 x24) matrix starting from 2000-01-01 and ending 2000-12-31. It must start at midnight 00:00 and end at 23:00 for each day. I would also like each new day to begin in a new row. How do i do that?

 采纳的回答

One possible solution would be like this.
T = datetime(2000,1,1):hours(1):datetime(2000,1,1,23,0,0);
T = repmat(T,366,1);
T = T + days(repmat((0:365)',1,24));

1 个评论

If I have extend the matrix starting from 2000-01-01 and ending 2015-03-31. How could that be done.?

请先登录,再进行评论。

更多回答(1 个)

OK, here is more generalized script. Writing this way, you can flexibly change the starting and ending date, and generate the corresponding matrix.
startDay = datetime(2000,1,1);
endDay = datetime(2015,12,31);
T = startDay + hours(0:23);
nDays = days(endDay - startDay);
T = repmat(T,nDays+1,1);
T = T + days(repmat((0:nDays)',1,24));

类别

帮助中心File Exchange 中查找有关 Calendar 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by