exponenta event banner

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

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

См. также

| |

Связанные темы