Можно задать входы таблицы в командной строке. Программная спецификация типов входных данных таблицы при помощи предварительного кондиционирования (assert операторы) не поддерживаются.
Используйте одну из следующих процедур:
Кроме того, если у вас есть тестовый файл, который вызывает функцию точки входа с помощью примера входов, можно определить входные типы при помощи coder.getArgTypes.
Используйте -args опция:
T = table(A,B,C,'VariableNames',vnames); fiaccel myFunction -args {T}
Чтобы предоставить тип для таблицы, fiaccel:
Задайте таблицу. Для примера:
T = table(A,B,C,'VariableNames',vnames);Создайте тип из T.
t = coder.typeof(T);
Передайте тип в 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 Coder) или передайте table как строковый скаляр, coder.newtype (MATLAB Coder).
Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутренних состояний. Неконстантные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Для примера:
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).
coder.resizeВы можете изменить размер большинства объектов при помощи coder.resize (MATLAB Coder). Можно изменить размер объектов, их свойства и создать массивы в свойствах.
Для 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. См. раздел «Редактирование и представление объектов и свойств типа кодера» (MATLAB Coder).
table | coder.Constant (MATLAB Coder) | coder.typeof (MATLAB Coder)