Main Content

categorical 配列入力の定義

コマンド ラインまたは MATLAB® Coder™ アプリで categorical 配列入力を定義できます。コード生成では、関数の引数の検証 (arguments ブロック) または前提条件 (assert ステートメント) を使用した categorical 入力型のプログラムによる指定はサポートされていません。

コマンド ラインでの categorical 配列入力の指定

次のいずれかの手順を使用します。

または、サンプル入力を使用してエントリポイント関数を呼び出すテスト ファイルがある場合は、coder.getArgTypes を使用して入力の型を指定できます。

categorical 配列入力の例の提供

-args オプションを使用します。

C = categorical({'r','g','b'});
codegen myFunction -args {C}

categorical 配列の型の提供

codegen に categorical 配列の型を提供するには次のようにします。

  1. categorical 配列を定義します。以下に例を示します。

    C = categorical({'r','g','b'});
    

  2. C から型を作成します。

    t = coder.typeof(C);
    

  3. -args オプションを使用して、型を codegen に渡します。

    codegen myFunction -args {t}
    

定数 categorical 配列入力の提供

categorical 配列入力が定数であることを指定するには、-args オプションを指定して coder.Constant を使用します。

C = categorical({'r','g','b'});
codegen myFunction -args {coder.Constant(C)}

MATLAB Coder アプリによる categorical 配列入力の定義

次のいずれかの手順を使用します。

categorical 配列の表現

categorical 配列の coder 型オブジェクトは、オブジェクトとそのプロパティを記述します。coder.typeof を使用するか、categorical を string スカラーとして coder.newtype に渡します。

coder 型オブジェクトは、内部状態の値を除外して、オブジェクトのプロパティの簡潔な説明を表示します。非定数プロパティについては型とサイズが表示され、定数プロパティについてはその値だけが表示されます。次に例を示します。

t = categorical({'r','g','b'});
tType = coder.typeof(t)

変数 t の表現が coder 型オブジェクト tType に格納されます。

tType = 

   matlab.coder.type.CategoricalType
     1x3 categorical
	Categories : 3x1 homogeneous cell
	   Ordinal : 1x1 logical
	 Protected : 1x1 logical

ワークフローで coder 型オブジェクトの従来の表現が必要な場合は、クラスまたはオブジェクトの新しい表現をもつ変数で関数 getCoderType を使用します。coder 型オブジェクトの従来の表現を参照してください。

coder.resize を使用したオブジェクトのプロパティのサイズ変更

ほとんどのオブジェクトは、coder.resize を使用してサイズ変更できます。オブジェクトやそのプロパティのサイズを変更したり、プロパティ内で配列を作成したりできます。

categorical coder オブジェクトについて、オブジェクトのプロパティのサイズを次のように変更できます。

t = categorical({'r','g','b'});
tType = coder.typeof(t);
tType.Categories = coder.resize(tType.Categories, [3 1],[1 0])

このコードは、Categories プロパティのサイズを最初の次元の上限が 3 になるように変更します。

tType = 

   matlab.coder.type.CategoricalType
     1x3 categorical
	Categories : :3x1 homogeneous cell
	   Ordinal : 1x1 logical
	 Protected : 1x1 logical

coder.resize を使用してオブジェクトのサイズを変更することもできます。coder 型オブジェクトとプロパティの編集および表現を参照してください。

参考

| |

関連するトピック