Вы можете определить исходные данные расписания в командной строке или в приложении MATLAB® Coder™. Программная спецификация расписания ввела типы при помощи предварительного создания условий (assert операторы) не поддерживаются.
Используйте одну из следующих процедур:
Кроме того, при наличии тестового файла, который вызывает функцию начального уровня с примерами входных данных, можно определить типы входных данных с помощью coder.getArgTypes.
Используйте -args вариант:
TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); codegen myFunction -args {TT}
Предоставление типа расписания для codegen:
Определите расписание. Например:
TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames);
Создание типа из T.
t = coder.typeof(TT);
Передать тип в codegen с помощью -args вариант.
codegen myFunction -args {t}
Чтобы указать, что введенное расписание является постоянным, используйте coder.Constant с -args вариант:
TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); codegen myFunction -args {coder.Constant(TT)}
Используйте одну из следующих процедур:
Объект типа кодера для расписания описывает объект и его свойства. Использовать coder.typeof или пройти timetable как строковый скаляр для coder.newtype.
Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутреннего состояния. Непостоянные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Например:
t = timetable((1:5)',(11:15)','SampleRate',1);
tType = coder.typeof(t)Представление переменной t хранится в объекте типа кодера tType.
tType =
matlab.coder.type.RegularTimetableType
5x2 timetable
Data : 1x2 homogeneous cell
Description : 1x0 char
UserData : 0x0 double
DimensionNames : {'Time'} {'Variables'}
VariableNames : {'Var1'} {'Var2'}
VariableDescriptions : 1x2 homogeneous cell
VariableUnits : 1x2 homogeneous cell
VariableContinuity : 1x2 matlab.internal.coder.tabular.Continuity
StartTime : 1x1 matlab.coder.type.DurationType
SampleRate : 1x1 double
TimeStep : 1x1 matlab.coder.type.DurationTypeОпределение обычного timetable путем указания SampleRate или TimeStep. Можно также определить нерегулярный timetable путем указания RowTimes. Например:
t1 = timetable((1:3),'RowTimes',seconds(1:3));
t1Type = coder.typeof(t)Представление нерегулярной таблицы t1 хранится в объекте типа кодера t1Type.
t1Type =
matlab.coder.type.TimetableType
3x1 timetable
Data : 1x1 homogeneous cell
Description : 1x0 char
UserData : 0x0 double
DimensionNames : {'Time'} {'Variables'}
VariableNames : {'Var1'}
VariableDescriptions : 1x1 homogeneous cell
VariableUnits : 1x1 homogeneous cell
VariableContinuity : 1x1 matlab.internal.coder.tabular.Continuity
RowTimes : 3x1 matlab.coder.type.DurationTypeЕсли рабочий процесс требует устаревшего представления объектов типа кодера, используйте getCoderType для переменной, имеющей новое представление класса или объекта. См. раздел Устаревшее представление объектов типа кодера.
coder.resizeИзменить размер большинства объектов можно с помощью coder.resize. Можно изменять размеры объектов, их свойства и создавать массивы внутри свойств.
Для timetable coder object, можно изменить размер свойств объекта:
t = timetable((1:5)',(11:15)','SampleRate',1);
tType = coder.typeof(t);
tType.UserData = coder.resize(tType.UserData,[10 1],[1 0])Этот код изменяет размер UserData свойство должно быть :10x1
double собственность. Первый размер имеет верхнюю границу в10.
tType =
matlab.coder.type.RegularTimetableType
5x2 timetable
Data : 1x2 homogeneous cell
Description : 1x0 char
UserData : :10x1 double
DimensionNames : {'Time'} {'Variables'}
VariableNames : {'Var1'} {'Var2'}
VariableDescriptions : 1x2 homogeneous cell
VariableUnits : 1x2 homogeneous cell
VariableContinuity : 1x2 matlab.internal.coder.tabular.Continuity
StartTime : 1x1 matlab.coder.type.DurationType
SampleRate : 1x1 double
TimeStep : 1x1 matlab.coder.type.DurationTypeМожно также изменить размер объекта с помощью coder.resize. См. раздел Редактирование и представление объектов и свойств типа кодера.
coder.Constant | coder.typeof | timetable