コード生成における categorical 配列の制限事項
コード生成を目的とする MATLAB® コードで categorical 配列を作成するときは、各 categorical 配列のカテゴリおよび要素を関数 categorical
を使用して指定しなければなりません。categorical 配列を参照してください。
categorical 配列の場合、コード生成では以下の入力および演算はサポートされません。
MATLAB オブジェクトの配列。
スパース行列。
関数
categorical
のcategoryNames
入力引数を使用してカテゴリ名を指定する場合のカテゴリ名の重複。割り当てによる成長。たとえば、配列の末尾を越えて値を割り当てるとエラーが発生します。
function c = foo() %#codegen c = categorical(1:3,1:3,{'small','medium','large'}); c(4) = 'medium'; end
カテゴリの追加。たとえば、
=
演算子を使用して新しいカテゴリを指定すると、categorical 配列が保護されていない場合でもエラーが発生します。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
を使用した categorical 値のテキストへの変換。categorical 配列の要素をテキストに変換するには、関数cellstr
を使用します。
クラスに適用される制限は categorical 配列にも適用されます。詳細については、コード生成のための MATLAB クラスの定義を参照してください。