exponenta event banner

Определение входных данных расписания

Ввод расписания можно определить в командной строке. Программная спецификация типов ввода расписания с использованием предварительного кондиционирования (assert операторы) не поддерживаются.

Определение входных данных расписания в командной строке

Используйте одну из следующих процедур:

Кроме того, при наличии тестового файла, который вызывает функцию начального уровня с примерами входных данных, можно определить типы входных данных с помощью coder.getArgTypes.

Предоставьте пример ввода расписания

Используйте -args вариант:

TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames);
fiaccel myFunction -args {TT}

Укажите тип расписания

Предоставление типа расписания для fiaccel:

  1. Определите расписание. Например:

    TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames);

  2. Создание типа из T.

    t = coder.typeof(TT);
    

  3. Передать тип в fiaccel с помощью -args вариант.

    fiaccel myFunction -args {t}
    

Ввод постоянного расписания

Чтобы указать, что введенное расписание является постоянным, используйте coder.Constant с -args вариант:

TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames);
fiaccel myFunction -args {coder.Constant(TT)}

Представление расписаний

Объект типа кодера для расписания описывает объект и его свойства. Использовать coder.typeof (Кодер MATLAB) или проходной timetable как строковый скаляр для coder.newtype (Кодер MATLAB).

Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутреннего состояния. Непостоянные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Например:

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 для переменной, имеющей новое представление класса или объекта. См. Устаревшее представление объектов типа кодера (кодер MATLAB).

Изменение размера свойств объекта с помощью coder.resize

Изменить размер большинства объектов можно с помощью coder.resize (Кодер MATLAB). Можно изменять размеры объектов, их свойства и создавать массивы внутри свойств.

Для 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. См. раздел Редактирование и представление объектов и свойств типа кодера (кодер MATLAB).

См. также

| (кодер MATLAB) | (Кодер MATLAB)

Связанные темы