Main Content

コード生成における categorical 配列の制限事項

コード生成を目的とする MATLAB® コードで categorical 配列を作成するときは、各 categorical 配列のカテゴリおよび要素を関数 categorical を使用して指定しなければなりません。categorical 配列を参照してください。

categorical 配列の場合、コード生成では以下の入力および演算はサポートされません。

  • MATLAB オブジェクトの配列。

  • スパース行列。

  • 関数 categoricalcategoryNames 入力引数を使用してカテゴリ名を指定する場合のカテゴリ名の重複。

  • 割り当てによる成長。たとえば、配列の末尾を越えて値を割り当てるとエラーが発生します。

    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 クラスの定義を参照してください。

参考

|

関連するトピック