exponenta event banner

Ограничения категориального массива для создания кода

При создании категориальных массивов в коде 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).

См. также

|

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