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