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?

 채택된 답변

Akira Agata
Akira Agata 2018년 2월 8일

0 개 추천

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

vedesh Mohit
vedesh Mohit 2018년 2월 8일
If I have extend the matrix starting from 2000-01-01 and ending 2015-03-31. How could that be done.?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Akira Agata
Akira Agata 2018년 2월 8일

0 개 추천

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에 대해 자세히 알아보기

질문:

2018년 2월 7일

댓글:

2018년 2월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by