MATLAB: Fill the column with pre-defined time intervals

3 hour time intervalfill a columnpre-defined time intervals

Hi,
I need to fill the column A below with pre-defined time intervals for each day. For example, Jan 1 1998
1/1/1998 0:00
1/1/1998 3:00
1/1/1998 4:00
1/1/1998 6:00
1/1/1998 9:00
1/1/1998 10:00
1/1/1998 12:00
1/1/1998 15:00
1/1/1998 16:00
1/1/1998 18:00
1/1/1998 21:00
1/1/1998 22:00
1/2/1998 0:00
A=
1/1/1998 0:00
1/1/1998 4:00
1/1/1998 6:00
1/1/1998 10:00
1/1/1998 12:00
1/1/1998 16:00
1/1/1998 18:00
1/1/1998 22:00
1/2/1998 0:00
1/2/1998 4:00
1/2/1998 6:00
1/2/1998 12:00
1/2/1998 18:00
1/3/1998 0:00
1/15/1998 18:00
1/16/1998 0:00
1/16/1998 6:00
1/16/1998 12:00
1/16/1998 18:00
1/17/1998 0:00
1/17/1998 6:00
1/17/1998 12:00
1/17/1998 18:00
1/18/1998 0:00
1/18/1998 6:00
1/18/1998 12:00
1/18/1998 18:00
1/19/1998 0:00
1/19/1998 6:00
1/19/1998 12:00
1/19/1998 18:00
1/20/1998 0:00
1/20/1998 6:00
1/20/1998 12:00
1/20/1998 18:00
1/21/1998 0:00
1/21/1998 6:00
1/21/1998 12:00
1/21/1998 18:00
1/22/1998 0:00
1/22/1998 6:00
1/22/1998 12:00
1/22/1998 18:00
1/23/1998 0:00
1/23/1998 6:00
1/22/1998 10:00
1/22/1998 12:00
1/22/1998 18:00
1/22/1998 22:00
1/23/1998 0:00
Is there a way to this MATLAB?
Thanks in advance.

Best Answer

One way to do it:
D0 = datenum([1998 01 01]);
DT = 1/24; % Days/Hour
DM = eomday(1998,01); % Days In January
DV = D0 + cumsum([0; ones(24*DM,1)*DT]);
Jan1998 = datestr(DV(1:end-1), 'mm/dd/yyyy HH:MM');
Result = [Jan1998(1:5,:); Jan1998(end-4:end,:)] % Check Result
produces:
Result =
01/01/1998 00:00
01/01/1998 01:00
01/01/1998 02:00
01/01/1998 03:00
01/01/1998 04:00
01/31/1998 19:00
01/31/1998 20:00
01/31/1998 21:00
01/31/1998 22:00
01/31/1998 23:00
The ‘Result’ variable just looks at the first and last 5 entries.