Задайте Категориальный массив входы

Категориальный массив входов можно задать в командной строке или в MATLAB® Coder™ приложения. Программная спецификация категориальных типов входа с помощью предварительного кондиционирования (assert операторы) не поддерживаются.

Задайте Категориальный массив входы в командной строке

Используйте одну из следующих процедур:

Кроме того, если у вас есть тестовый файл, который вызывает функцию точки входа с помощью примера входов, можно определить входные типы при помощи coder.getArgTypes.

Предоставьте пример категориального входа массива

Используйте -args опция:

C = categorical({'r','g','b'});
codegen myFunction -args {C}

Предоставьте категориальный тип массива

Чтобы предоставить тип для категориального массива, codegen:

  1. Задайте категориальный массив. Для примера:

    C = categorical({'r','g','b'});
    

  2. Создайте тип из C.

    t = coder.typeof(C);
    

  3. Передайте тип в codegen при помощи -args опция.

    codegen myFunction -args {t}
    

Обеспечьте постоянный категориальный вход массива

Чтобы указать, что входной вход категориального массива является постоянным, используйте coder.Constant с -args опция:

C = categorical({'r','g','b'});
codegen myFunction -args {coder.Constant(C)}

Задайте Категориальный массив входы в приложении MATLAB Coder

Используйте одну из следующих процедур:

Представление категориальных массивов

Объект типа кодера для категориального массива описывает объект и его свойства. Использовать coder.typeof или передайте categorical как строковый скаляр, coder.newtype.

Объект типа кодера отображает краткое описание свойств объекта, исключая значения внутренних состояний. Неконстантные свойства отображают их тип и размер, в то время как постоянные свойства отображают только их значения. Для примера:

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 функция от переменной, которая имеет новое представление вашего класса или объекта. См. «Устаревшее представление объектов типа кодера».

Изменение размера свойств объекта при помощи coder.resize

Вы можете изменить размер большинства объектов при помощи coder.resize. Можно изменить размер объектов, их свойства и создать массивы в свойствах.

Для 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. См. раздел «Редактирование и представление объектов и свойств типа кодера».

См. также

| |

Похожие темы