Ввод категориальных массивов можно определить в командной строке. Программная спецификация категориальных типов ввода с использованием предварительного кондиционирования (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) или проходной categorical как строковый скаляр для coder.newtype (Кодер MATLAB).
Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутреннего состояния. Непостоянные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Например:
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.resizeИзменить размер большинства объектов можно с помощью coder.resize (Кодер MATLAB). Можно изменять размеры объектов, их свойства и создавать массивы внутри свойств.
Для categorical coder object, можно изменить размер свойств объекта:
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).
categorical | coder.Constant (кодер MATLAB) | coder.typeof (Кодер MATLAB)