Converting regular numbers into "time"
4 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I have a question. If I define a vector like so:
TStart = 0; TEnd = 1000; TStep = 1; Time = TStart:TStep:TEnd;
Is there any way where I can convert this to date format, so that when I plot:
plot(Time,Data)
The x axis will have time stamps corresponding to the way I defined my Time array, and not just numbers?
I looked into datetick, but I'm not sure if I am on the right track here...
0 个评论
回答(1 个)
Walter Roberson
2012-4-12
For datetick to work, the Time vector should be in the unit of full days. If, for example, your TStep was intended to reflect hours, then divide Time by 24
6 个评论
Oleg Komarov
2012-4-14
@Sarah: your result is inconsistent with the example.
If you run the example you provided, together with Walter's code, you should be getting 5 ticks: 00:00, 00:05, 00:10, 00:15 and 00:20.
Peter Wittenberg
2012-4-14
The 00:00 is correct for the time you put in. What's happening is that you are putting in a time stream so long that MATLAB is choosing tick mark dates that are integers, with each integer being a full day, starting at 00:00 when you put it in the HH:MM format. Adjust the time variable so that it covers a total time interval of less than one day and you'll see other numbers. For example, time =0:.001:1 will give you 1000 points spaced at 1/1000 of a day (1.44 minute) intervals
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!