主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

コマンドラインでの细胞配配力の指定

コマンド ラインで cell 配列入力を指定するには、他の入力の型で使用する場合と同じメソッドを使用します。次のことが可能です。

  • cell 配列入力の例をcodegenコマンドの-argsオプションに指定します。

  • coder.CellTypeオブジェクトをcodegenコマンドの-argsオプションに指定します。coder.CellTypeオブジェクトを作成するには、coder.typeofを使用します。

  • coder.Constantをを用して定数の cell 配列入力を指定します。

コード生成の場合、cell 配列は同種または異種混合として分類されます。cell 配列のコード生成を参照してください。cell 配列の例をcodegenまたはcoder.typeofに指定すると、関数によって cell 配列の型が同種であるか異種混合であるかが判別されます。cell 配列要素のクラスとサイズが同じ場合、coder.typeofは同種 cell 配列型を返します。要素のクラスが異なる場合、coder.typeofは異種混合 cell 配列型を返します。一部の cell 配列では、同種であるか異種混合であるかの分類はあいまいです。たとえば、{1 [2 3]} の型に 1 行 2 列の異種混合型を使用できます。最初の要素は double で 2 番目の要素は 1 行 2 列の double です。また、この型を 1 行 3 列の同種型にして、その要素のクラスを double で、サイズを 1 行 :2 列にすることもできます。このようなあいまいなケースでは、coder.typeofはヒューリスティックな方法を使用して型を同種または異種混合として分類します。異なる分類が必要な場合は、coder.CellTypemakeHomogeneousメソッドまたはmakesheter obeneousメソッドを使用します。makeHomogeneousメソッドは型の同種コピーを作成します。makesheter obeneousメソッドは型の異種混合コピーを作成します。

makeHomogeneousメソッドとmakesheter obeneousメソッドは分類を同種および異種混合としてそれぞれ永続的に割り当てます。これらのいずれかの方法を後で使用して分類が異なるコピーを作成することはできません。

テスト ファイルがある場合、coder.getArgTypesをを用して入力の型を判別できます。型の出力 cell 配列では、cell 配列の入力に対してcoder.getArgTypesからcoder.CellTypeオブジェクトが返されます。異なる分類 (同種または異種混合) が必要な場合、makeHomogeneousメソッドまたはmakesheter obeneousメソッドを使用します。

例による细胞配列入のの

例によって细胞配列入力を指定するには,细胞配列の例をcodegenコマンドの-argsオプションに指定します。

以下に例をます。

  • クラスが双重の要素もつ1行3列の细胞配列ををするには,次のようにし。

    codegenmyfunction-args{{1 2 3}}-report

    入力引数は、要素が 1 行 1 列の double をもつ 1 行 3 列の同種 cell 配列になります。

  • 最初の要素にクラス char、2 番目の要素にクラス double をもつ 1 行 2 列の cell 配列を指定するには、次のようにします。

    codegenmyfunction-args{{'a', 1}}-report

    入入要素は,最初最初の要素1行1列のich,2番目の要素が1行1列の双をもつ1行2列の异种异种cell配列なりなり。

细胞配列入力の型指定指定

细胞配列入力の型指定するには,coder.typeofをを用してcoder.CellTypeオブジェクトを作用成し。coder.CellTypeオブジェクトを,codegenコマンドの-argsオプションに渡します。

以下に例をます。

  • クラスが双重の要素もつ1行3列の细胞配列ををするには,次のようにし。

    t = coder.typeof({1 2 3}); codegenmyfunction-args{t}-report

    入力引数は、要素が 1 行 1 列の double をもつ 1 行 3 列の同種 cell 配列になります。

  • 最初の要素にクラス char、2 番目の要素にクラス double をもつ 1 行 2 列の cell 配列を指定するには、次のようにします。

    t = coder.typeof({'a', 1}); codegenmyfunction-args{t}

    入入要素は,最初最初の要素1行1列のich,2番目の要素が1行1列の双をもつ1行2列の异种异种cell配列なりなり。

また、高度な関数编码器.Newtype.をを用してcoder.CellTypeオブジェクトを作成することもできます。

同種型のコピーの作成

coder.typeofが異種混合 cell 配列型を返すとき、同種の型が必要な場合は、makeHomogeneousメソッドを使用して、型の同種コピーを作成します。

次のコードは異種混合の型を作成します。

t = coder.typeof({1 [2 3]})
t = coder.CellType 1x2 heterogeneous cell f0: 1x1 double f1: 1x2 double

型の同種コピーを作成するには、次を使用します。

t = makeHomogeneous(t)
t = coder.CellType 1×2 locked homogeneous cell base: 1×:2 double

あるいは、次の表記法を使用します。

t = makeHomogeneous(coder.typeof({1 [2 3]}))
t = coder.CellType 1×2 locked homogeneous cell base: 1×:2 double

同種としての分類はロックされています (永続的)。後でmakesheter obeneousメソッドを使用して型の異種混合コピーを作成することはできません。

型の要素に char や double などの異なるクラスがある場合、makeHomogeneousをを用して型の同種コピーを作成することはできません。

coder.cstructName.をを用して生成されたコード内で型を表す構造体型の名前を指定する場合、型の同種コピーを作成することはできません。

型の異種混合コピーの作成

coder.typeofが同種 cell 配列型を返すとき、異種混合の型が必要な場合は、makesheter obeneousメソッドを使用して、型の異種混合コピーを作成します。

次のコードは同種の型を作成します。

t = coder.typeof({1 2 3})
T =编码器.Celltype 1x3均匀细胞基数:1x1双

異種混合の型を作成するには,次を使用します。

t = makeHeterogeneous(t)
t = coder.CellType 1×3 locked heterogeneous cell f1: 1×1 double f2: 1×1 double f3: 1×1 double

あるいは、次の表記法を使用します。

t = makeHeterogeneous(coder.typeof({1 2 3}))
t = coder.CellType 1×3 locked heterogeneous cell f1: 1×1 double f2: 1×1 double f3: 1×1 double

异种结合としてのののロックされています(永続的)。后でmakeHomogeneousメソッドを使用して型の同種コピーを作成することはできません。

型が可変サイズの合成,makesheter obeneousをを用してその異種混合コピーを作成することはできません。

可以サイズの细胞配配力の指定

可変サイズの cell 配列入力は次の方法で指定できます。

  • coder.typeofの呼び出しでは、次のようにします。

    たとえば、最初の次元が固定、2 番目の次元の上限が 5 である可変サイズの cell 配列を指定する場合は、次のようにします。

    t = coder.typeof({1},[1 5],[0 1])
    t = coder.CellType 1x:5 homogeneous cell base: 1x1 double

    クラスが同じでサイズが異なる要素の場合、coder.typeofのサイズと可変次元の引数を使用して、可変サイズの同種 cell 配列型を作成できます。たとえば、次のコードではサイズと可変次元の引数を使用しません。このコードは異種混合 cell 配列に型を作成します。

    t = coder.typeof({1 [2 3]})
    t = coder.CellType 1x2 heterogeneous cell f0: 1x1 double f1: 1x2 double

    次のコードでは、サイズと次元の引数を使用して、可変サイズの同種型 cell 配列の型を作成します。

    t = coder.typeof({1 [2 3]}, [1 5], [0 1])
    T =编码器.Celltype 1×:5锁定均匀的细胞基数:1×:2双
  • coder.resizeを使用します。

    たとえば、最初の次元が固定、2 番目の次元の上限が 5 である可変サイズの cell 配列を指定する場合は、次のようにします。

    t = coder.typeof({1}); t = coder.resize(t, [1 5], [0,1])
    t = coder.CellType 1x5 homogeneous cell base: 1x1 double

    coder.resizeを異種混合 cell 配列型と共に使用することはできません。

异种结合细胞配配力に対する型名前の指定

異種混合 cell 配列は、生成されたコードで構造体として表されます。生成されたコードで構造体型の名前を指定するには、coder.cstructName.を使用します。

たとえば、生成されたコードで cell 配列型の名前mynameを指定する場合、次のようにします。

t = coder.typeof({'a', 1}) t = coder.cstructname(t,'myname')
t = coder.CellType 1×2 locked heterogeneous cell myname f1: 1×1 char f2: 1×1 double

coder.cstructName.をを种细胞配列配列で使使使使使合并,coder.cstructName.は,同种细胞配列のの型异种异种コピーコピーコピーの异种コピーコピーコピーの异种コピーコピーコピー型の异种。coder.CellTypeオブジェクトのmakesheter obeneousメソッドを使用することをお勧めします。その後で、この型の異種混合コピーでcoder.cstructName.を使使でき。

定数の cell 配列入力の指定

cell 配列入力を定数として指定するには、codegenコマンドの-argsオプションと共に关节coder.Constantを使用します。以下に例を示します。

codegenmyfunction-args{coder.Constant({'red', 1 'green', 2, 'blue', 3})}-report

入力は 1 行 6 列の異種混合 cell 配列になります。要素のサイズとクラスは次のとおりです。

  • 1行3列炭

  • 1 行 1 列 double

  • 1行5列炭

  • 1 行 1 列 double

  • 1 行 4 列 char

  • 1 行 1 列 double

参考

||||

関連する例

詳細