I want to convert the large datetime data into double format.
9 次查看(过去 30 天)
显示 更早的评论
I used datenum command, but its changing the value. The code and the values are attached below. Here TimestampHide is the data from an excel sheet.
MATLAB Code:
>> T=TimestampHide;
>> T.Format = 'yyyy-MM-dd HH:mm:ss.SSS';
>> Z=datenum(T);
The value of Z
6 个评论
Steven Lord
2024-9-12
You can call plot with a datetime array and a numeric array as inputs and it should just work.
x = 1:10;
dt = datetime('today') + days(x);
y = x.^2;
plot(dt, y, 'o-')
If you were trying to create multiple plots at once, that's one case where the data type matters. You can't put two plots that have different types of x data or different types of y data on the same axes, but that makes sense IMO. If I wanted to plot one plot that was dt on the X axis and y on the Y axis and another where x was on the X axis and y on the Y axis, what would the X axis labels be? Numbers or dates? We don't allow that workflow because of that consideration, as you can see from the error message below.
figure
plot(dt, y, 'o-', x, y, 'x:') % not going to work
回答(1 个)
dpb
2024-9-12
datenum is/has been deprecated; use datetime instead.
datenum doesn't have the precision of a datetime but the values above will be the same in double precision as the datetime values; you just aren't displaying all the significant digits with the default format option; try
datestr(Z(1:10))
and you will see the string values.
Show what your next step(s) is(are) as to why you think you should convert to datenum and somebody is bound to come along and provide the way to accomplish that goal with the datetime and/or duration classes instead.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Time Series Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!