Create a matrix full of dates

9 views (last 30 days)
JaviOBe
JaviOBe on 21 Jun 2013
Hi!
I need to create a matrix whit dates, starting in a specific date, for example '2013-04-01 22:00:59', and increasing in the interval of my choosing (like 1 sec, 1 min, ...).
I need to define the last one date also.
Could anyone help me?
Thank you in advance
  2 Comments
Muthu Annamalai
Muthu Annamalai on 21 Jun 2013
Matrices can store only numbers. However, you can create cell-arrays, and struct-arrays in MATLAB. For example, see, http://www.mathworks.com/help/matlab/matlab_external/create-cell-arrays.html?searchHighlight=cell+array.
Now you can build a date string, using the function, datestr, http://www.mathworks.com/help/matlab/ref/datestr.html?searchHighlight=datestr and you should use the input as your increment time, obtained with the function now()
HTH
JaviOBe
JaviOBe on 21 Jun 2013
Yes sorry I meant that I need to create a cell-array with dates...
What I am doing is geting the first date into my array, and increment it with the interval i want. But I have problems to define this interval...I think it would be an easier solution for this.

Sign in to comment.

Accepted Answer

Kelly Kearney
Kelly Kearney on 21 Jun 2013
If you just want to increment from a fixed point, then that's pretty straightforward.
t0 = datenum('2013-04-01 22:00:59');
dt = 1/(24*60*60); % 1 second
t = datestr(t0 + (1:100)*dt);
Or do you not want the times to increment from the exact start date, but rather something like "increment by 1 hour on the hour" (so for your example, 23:00:00 would be the next, rather than 23:00:59)?
  3 Comments
Leah
Leah on 21 Jun 2013
t = cellstr(datestr(t0 + (1:100)*dt));
or reference t(x,:)
JaviOBe
JaviOBe on 21 Jun 2013
It works thank you!

Sign in to comment.

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!