creating time date matrix

7 views (last 30 days)
vedesh Mohit
vedesh Mohit on 7 Feb 2018
Commented: vedesh Mohit on 10 Feb 2018
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?

Accepted Answer

Akira Agata
Akira Agata on 8 Feb 2018
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 Comment
vedesh Mohit
vedesh Mohit on 8 Feb 2018
If I have extend the matrix starting from 2000-01-01 and ending 2015-03-31. How could that be done.?

Sign in to comment.

More Answers (1)

Akira Agata
Akira Agata on 8 Feb 2018
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));

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!