Output single Timetable from Simulink when some logged signals are not doubles
I would like, for conveneince, to have one timetable output from Simulink. Some of my signals are logical and I don’t want to make them doubles because that incorrectly captures what they are supposed to be. However, when I try to log these signals to a single timetable using extractTimetable(simout.logsout)
Error using matlab.internal.tabular.extractTimetable (line 300)
Unable to synchronize the specified data. To output data as a cell array, set ‘OutputFormat’ to ‘cell-by-signal’.
Error in Simulink.SimulationData.Dataset/extractTimetable
(…)
Caused by:
Error using timetable/synchronize (line 343)
All variables in input timetables must support missing values (e.g. floating point, categorical, datetime, duration, or text) when synchronizing using ‘fillwithmissing’.
As far as I can tell, it is because extractTimetable synchronizes everything with a specific option, fillWithNaN. Is there a way to change this behavior to allow logical values to be used? fillwithconstant would be my preference – but it is moot because my simulations do not have missing values!I would like, for conveneince, to have one timetable output from Simulink. Some of my signals are logical and I don’t want to make them doubles because that incorrectly captures what they are supposed to be. However, when I try to log these signals to a single timetable using extractTimetable(simout.logsout)
Error using matlab.internal.tabular.extractTimetable (line 300)
Unable to synchronize the specified data. To output data as a cell array, set ‘OutputFormat’ to ‘cell-by-signal’.
Error in Simulink.SimulationData.Dataset/extractTimetable
(…)
Caused by:
Error using timetable/synchronize (line 343)
All variables in input timetables must support missing values (e.g. floating point, categorical, datetime, duration, or text) when synchronizing using ‘fillwithmissing’.
As far as I can tell, it is because extractTimetable synchronizes everything with a specific option, fillWithNaN. Is there a way to change this behavior to allow logical values to be used? fillwithconstant would be my preference – but it is moot because my simulations do not have missing values! I would like, for conveneince, to have one timetable output from Simulink. Some of my signals are logical and I don’t want to make them doubles because that incorrectly captures what they are supposed to be. However, when I try to log these signals to a single timetable using extractTimetable(simout.logsout)
Error using matlab.internal.tabular.extractTimetable (line 300)
Unable to synchronize the specified data. To output data as a cell array, set ‘OutputFormat’ to ‘cell-by-signal’.
Error in Simulink.SimulationData.Dataset/extractTimetable
(…)
Caused by:
Error using timetable/synchronize (line 343)
All variables in input timetables must support missing values (e.g. floating point, categorical, datetime, duration, or text) when synchronizing using ‘fillwithmissing’.
As far as I can tell, it is because extractTimetable synchronizes everything with a specific option, fillWithNaN. Is there a way to change this behavior to allow logical values to be used? fillwithconstant would be my preference – but it is moot because my simulations do not have missing values! simulink, logging, timetable MATLAB Answers — New Questions