このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
コマンド ラインで 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.CellType
makeHomogeneous
メソッドまたは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 配列入力を定数として指定するには、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
coder.CellType
|coder.typeof
|coder.getArgTypes
|coder.resize
|编码器.Newtype.