exponenta event banner

Определение входных данных таблицы

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

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

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

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

Предоставьте пример ввода таблицы

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

T = table(A,B,C,'VariableNames',vnames);
fiaccel myFunction -args {T}

Укажите тип таблицы

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

  1. Определите таблицу. Например:

    T = table(A,B,C,'VariableNames',vnames);

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

    t = coder.typeof(T);
    

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

    fiaccel myFunction -args {t}
    

Ввод таблицы констант

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

T = table(A,B,C,'VariableNames',vnames);
fiaccel myFunction -args {coder.Constant(T)}

Представление таблиц

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

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

A = [1 2 3]';
B = [4 5 6]';
C = [7 8 9]';
t = table(A,B,C);
tType = coder.typeof(t)

Представление переменной t хранится в объекте типа кодера tType.

tType = 

   matlab.coder.type.TableType
     3x3 table
	                Data : 1x3 homogeneous cell
	         Description : 1x0 char
	            UserData : 0x0 double
	      DimensionNames : {'Row'}    {'Variables'}
	       VariableNames : {'A'}    {'B'}    {'C'}
	VariableDescriptions : 1x3 homogeneous cell
	       VariableUnits : 1x3 homogeneous cell
	  VariableContinuity : 1x3 matlab.internal.coder.tabular.Continuity
	            RowNames : 0x0 homogeneous cell

Если рабочий процесс требует устаревшего представления объектов типа кодера, используйте getCoderType для переменной, имеющей новое представление класса или объекта. См. Устаревшее представление объектов типа кодера (кодер MATLAB).

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

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

Для table coder object, можно изменить размер свойств объекта:

A = [1 2 3]';
B = [4 5 6]';
C = [7 8 9]';
t = table(A,B,C);
tType = coder.typeof(t) 
tType.Description = coder.resize(tType.Description,[1 12],[0 1])

Этот код изменяет размер Description свойство должно быть 1x:12 char свойство, имеющее верхнюю границу 12.

tType = 

   matlab.coder.type.TableType
     3x3 table
	                Data : 1x3 homogeneous cell
	         Description : 1x:12 char
	            UserData : 0x0 double
	      DimensionNames : {'Row'}    {'Variables'}
	       VariableNames : {'A'}    {'B'}    {'C'}
	VariableDescriptions : 1x3 homogeneous cell
	       VariableUnits : 1x3 homogeneous cell
	  VariableContinuity : 1x3 matlab.internal.coder.tabular.Continuity
	            RowNames : 0x0 homogeneous cell

Можно также изменить размер объекта с помощью coder.resize. См. раздел Редактирование и представление объектов и свойств типа кодера (кодер MATLAB).

См. также

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

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