Вы можете определить исходные данные стола в командной строке или в приложении 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 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. См. раздел Редактирование и представление объектов и свойств типа кодера.
coder.Constant | coder.typeof | table