coder.newtype
エントリポイント関数の入力の型を表す coder.Type
オブジェクトを作成
構文
説明
関数 coder.newtype
は、coder.Type
オブジェクトを制御するために使用できる高度な関数です。coder.newtype
の代わりに coder.typeof
を使用することを検討してください。関数 coder.typeof
は MATLAB® の例から型を作成します。既定では、t
= coder.newtype
('class_name'
) は、クラス class_name
のプロパティをオブジェクト t
に割り当てません。
メモ
coder.Type
オブジェクトの作成と編集は、コード生成の型エディターを使用して対話形式で行うこともできます。コード生成の型エディターを使用した入力の型の作成と編集を参照してください。
では、クラス t
= coder.newtype(numeric_class
,sz
,variable_dims
)numeric_class
の値、サイズ sz
(上限) および可変次元 variable_dims
を表す coder.Type
オブジェクトが作成されます。sz
で次元に inf
を指定する場合は、次元のサイズは無限で、次元は可変サイズです。variable_dims
を指定しないと、制限のない次元を除き、この型の次元は固定になります。variable_dims
がスカラーの場合は、1
または 0
(固定) ではない型の次元に適用されます。
では、1 つ以上の名前と値のペアの引数として指定された追加オプションを使用して、t
= coder.newtype(numeric_class
,sz
,variable_dims
, Name,Value
)coder.Type
オブジェクトが作成されます。
では、スカラー構造体 t
= coder.newtype('struct',struct_fields
,sz
,variable_dims
)struct_fields
と同じフィールドをもつ構造体の配列に対して coder.StructType
オブジェクトが作成されます。構造体の配列型は、sz
で指定されたサイズと、variable_dims
で指定された可変サイズの次元をもちます。
は、t
= coder.newtype('cell',cells
,sz
,variable_dims
)cells
で指定された cell と cell の型をもつ cell 配列の coder.CellType
オブジェクトを作成します。cell 配列型は、sz
で指定されたサイズと variable_dims
で指定された可変サイズの次元をもちます。異種混合 cell 配列に対して、セルの数を変更したり、可変サイズの次元を指定したりすることはできません。
で作成される t
= coder.newtype('embedded.fi',numerictype,sz
,variable_dims
, Name,Value
)coder.FiType
オブジェクトは、numerictype
をもつ固定小数点値のセットと 1 つ以上の名前と値のペアの引数で指定された追加オプションを表します。
では、クラス t
= coder.newtype(enum_value
,sz
,variable_dims
)enum_value
の列挙値のセットを表す coder.Type
オブジェクトが作成されます。
はクラス t
= coder.newtype('class_name'
)class_name
のオブジェクトに coder.ClassType
オブジェクトを作成します。新しいオブジェクトには、クラス class_name
のプロパティは割り当てられません。
は、string スカラーの t
= coder.newtype('string')coder.StringType
オブジェクトを作成します。string スカラーには文字ベクトルとして表される 1 つのテキストが含まれます。文字ベクトルのサイズ、および 2 番目の次元が可変サイズであるかどうかを指定するには、StringLength
プロパティを必要なサイズに設定し、VariableStringLength
を true
に設定します。たとえば、t.StringLength = 10
と t.VariableStringLength = true
は、string スカラーが上限 10 の可変サイズであることを指定しています。
例
入力引数
出力引数
制限
スパース行列の場合、
coder.newtype
は可変サイズの次元の上限を下げます。GPU 入力型については、制限付きの数値と logical の基本データ型のみがサポートされます。スカラーの GPU 配列、構造体、cell 配列、クラス、列挙型、文字、半精度データ型、および固定小数点データ型はサポートされません。
coder.newtype
を使用して GPU 入力を表す場合、GPU コード構成オブジェクトのメモリ割り当て (malloc) モード プロパティを'discrete'
に設定します。
ヒント
引数
variable_dims
で大きさが 1 の次元が可変サイズであることを明示的に指定していない限り、関数coder.newtype
は大きさが 1 の次元のサイズを固定します。たとえば、以下のコードでは 1 行 :10 列の double を指定します。最初の次元 (大きさが 1 の次元) は固定サイズです。2 番目の次元は可変サイズです。
一方、以下のコードでは :1 行 :10 列の double を指定します。どちらの次元も可変サイズになります。t = coder.newtype('double',[1 10],1)
t = coder.newtype('double',[1 10],[1 1])
MATLAB Function ブロックでは、入力信号または出力信号の大きさが 1 の次元は可変サイズにできません。
代替方法
バージョン履歴
R2011a で導入
参考
coder.resize
| coder.Type
| coder.ArrayType
| coder.EnumType
| coder.FiType
| coder.PrimitiveType
| coder.StructType
| coder.CellType
| fiaccel
| coder.OutputType
(MATLAB Coder)