when converting a time into an array I lose the date column

>> class(tab)
ans =
'timetable'
cc=table2array(tab)

3 Comments

You have datetime objects for your Data. Your Profit is datatype double. You are trying to create an array. Arrays must have the same datatype for all entries. You would therefore either need to convert Profit to datetime or else convert the datetime entry to double. What double would you like to convert the datetime to?
i want to convert this datatime to arraystring (i want to use it using uitable and display it in a table)

Sign in to comment.

Answers (2)

The first class is a 16x1 timetable. This means the time column is not a variable but is the indexing column.
You don't have to convert this into a table to have access to your data. You can use your_table.Profit(1) to return 7.9867e5 for example. If you need the date, then use your_table.Time(1).
If you still wish to convert this into a table, you can do as following:
for i = 1:length(a.Time)
cc{i,1} = your_table.Time(i);
cc{i,2} = your_table.Profit(i);
end
"(i want to use it using uitable and display it in a table)"
Convert the timetable to table and use accordingly -
tableName = timetable2table(tableName);
fig = uifigure;
uit = uitable(fig,"Data",tableName);

1 Comment

Right. uitable() that are children of uifigure() can handle table() objects directly.

Sign in to comment.

Categories

Asked:

on 15 Aug 2023

Commented:

on 15 Aug 2023

Community Treasure Hunt

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

Start Hunting!