Категориальные массивы для генерации кода

Когда вы создаете категориальные массивы в MATLAB® код, который вы собираетесь для генерации кода, необходимо задать категории и элементы каждого категориального массива при помощи categorical функция. См. Категориальные массивы.

Для категориальных массивов генерация кода не поддерживает следующие входы и операции:

  • Массивы объектов MATLAB.

  • Разреженные матрицы.

  • Повторяющиеся имена категорий при их указании с помощью categoryNames входной параметр categorical функция.

  • Рост по назначению. Для примера назначение значения за пределами конца массива приводит к ошибке.

    function c = foo() %#codegen
        c = categorical(1:3,1:3,{'small','medium','large'});
        c(4) = 'medium';
    end
    
  • Добавление категории. Например, установка новой категории при помощи = оператор создает ошибку, даже когда категориальный массив не защищен.

    function c = foo() %#codegen
        c = categorical(1:3,1:3,{'small','medium','large'});
        c(1) = 'extra-large';
    end
    
  • Удаление элемента. Для примера назначение пустого массива элементу приводит к ошибке.

    function c = foo() %#codegen
        c = categorical(1:3,1:3,{'small','medium','large'});
        c(1) = [];
    end
    
  • Преобразование категорийных значений в текст при помощи char или string функций. Чтобы преобразовать элементы массива категориального массива в текст, используйте cellstr функция.

Ограничения, которые применяются к классам, также применяются к категориальным массивам. Для получения дополнительной информации смотрите Определение классов MATLAB для Генерации кода (MATLAB Coder).

См. также

|

Похожие темы