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

Можно задать входы таблицы в командной строке или в MATLAB® Coder™ приложения. Программная спецификация входных типов таблицы с помощью предварительного кондиционирования (assert операторы) не поддерживаются.

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

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

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

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

Используйте -args опция:

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

Задайте тип таблицы

Чтобы предоставить тип для таблицы, codegen:

  1. Задайте таблицу. Для примера:

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

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

    t = coder.typeof(T);
    

  3. Передайте тип в codegen при помощи -args опция.

    codegen myFunction -args {t}
    

Обеспечьте вход постоянной таблицы

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

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

Задайте входные параметры таблицы в приложении MATLAB Coder

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

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

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

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

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 функция от переменной, которая имеет новое представление вашего класса или объекта. См. «Устаревшее представление объектов типа кодера».

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

Вы можете изменить размер большинства объектов при помощи coder.resize. Можно изменить размер объектов, их свойства и создать массивы в свойствах.

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

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

См. также

| |

Похожие темы