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

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

Смотрите также

|

Похожие темы