Определить категориальный массив входов можно в командной строке. Программная спецификация категориальных входных типов с помощью предварительного кондиционирования (assert
операторы) не поддерживаются.
Используйте одну из следующих процедур:
Кроме того, если у вас есть тестовый файл, который вызывает функцию точки входа с помощью примера входов, можно определить входные типы при помощи coder.getArgTypes
.
Используйте -args
опция:
C = categorical({'r','g','b'}); fiaccel myFunction -args {C}
Чтобы предоставить тип для категориального массива, fiaccel
:
Задайте категориальный массив. Для примера:
C = categorical({'r','g','b'});
Создайте тип из C
.
t = coder.typeof(C);
Передайте тип в fiaccel
при помощи -args
опция.
fiaccel myFunction -args {t}
Чтобы указать, что входной вход категориального массива является постоянным, используйте coder.Constant
с -args
опция:
C = categorical({'r','g','b'}); fiaccel myFunction -args {coder.Constant(C)}
Объект типа кодера для категориального массива описывает объект и его свойства. Использовать coder.typeof
(MATLAB Coder) или передайте categorical
как строковый скаляр, coder.newtype
(MATLAB Coder).
Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутренних состояний. Неконстантные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Для примера:
t = categorical({'r','g','b'}); tType = coder.typeof(t)
Представление переменных t
хранится в объекте типа кодера tType
.
tType = matlab.coder.type.CategoricalType 1x3 categorical Categories : 3x1 homogeneous cell Ordinal : 1x1 logical Protected : 1x1 logical
Если ваш рабочий процесс требует устаревшего представления объектов типа кодера, используйте getCoderType
функция от переменной, которая имеет новое представление вашего класса или объекта. См. Устаревшее представление объектов типа кодера (MATLAB Coder).
coder.resize
Вы можете изменить размер большинства объектов при помощи coder.resize
(MATLAB Coder). Можно изменить размер объектов, их свойства и создать массивы в свойствах.
Для categorical
Объект кодера, можно изменить размер свойств объекта:
t = categorical({'r','g','b'}); tType = coder.typeof(t); tType.Categories = coder.resize(tType.Categories, [3 1],[1 0])
Этот код изменяет размер Categories
свойство, которое должно быть ограничено верхней точкой 3
для первой размерности.
tType = matlab.coder.type.CategoricalType 1x3 categorical Categories : :3x1 homogeneous cell Ordinal : 1x1 logical Protected : 1x1 logical
Можно также изменить размер объекта при помощи coder.resize
. См. раздел «Редактирование и представление объектов и свойств типа кодера» (MATLAB Coder).
categorical
| coder.Constant
(MATLAB Coder) | coder.typeof
(MATLAB Coder)