代码生成的分类数组限制
当您在用于代码生成的 MATLAB® 代码中创建分类数组时,必须使用 categorical
函数指定每个分类数组的类别和元素。请参阅分类数组。
对于分类数组,代码生成不支持以下输入和操作:
MATLAB 对象数组。
稀疏矩阵。
使用
categorical
函数的categoryNames
输入参量指定类别名称时的重复类别名称。通过赋值实现增长。例如,在数组末尾以外赋值会生成错误。
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)。