How to convert time column into a regular array?
8 views (last 30 days)
Show older comments
I have a table with first column as time series, and other columns as other parameters that changes with time. I want to convert the time series into an array for plaotting. I tried following code:
A_time = A(:,1);
A_time_array = table2array(A_time);
This method works for all the numeric columns. However, it errors out in the time column. Can someone suggest a better way?
1 Comment
Stephen23
on 21 Jan 2022
"Can someone suggest a better way?"
Convert the "time series" to datetime objects and plot using them.
Accepted Answer
Star Strider
on 21 Jan 2022
2 Comments
Star Strider
on 21 Jan 2022
Those dates and times must be present in the file as character or string arrays. It is not possible to work with them as they are presented, so having the original file would help.
Assuming that they are (or can be made to be) read as character arrays or string arrays, the conversion is straightforward —
A = {{['2021-11-14 19:16:02.328']}
{['2021-11-14 19:16:02.430']}
{['2021-11-14 19:16:02.533']}
{['2021-11-14 19:16:02.640']}}
Aa = datetime([A{:}], 'InputFormat','yyyy-MM-dd HH:mm:ss.SSS', 'Format','yyyy-MM-dd HH:mm:ss.SSS').'
Using the same format descriptor string for both 'InputFormat' and 'Format' causes the output to match the input.
.
More Answers (1)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!