coder.typeof
创建编码器。类型
对象表示入口点函数输入的类型
语法
描述
请注意
您还可以创建和编辑编码器。类型
对象交互使用编码器类型编辑器。看到使用编码器类型编辑器创建和编辑输入类型.
创建派生自的对象type_obj
= coder.typeof (v
)编码器。类型
表示的类型v
用于代码生成。使用coder.typeof
仅指定输入参数类型。与codegen
函数arg游戏
选项或在MATLAB®编码器™在通过提供示例代码定义输入类型时,项目。不要在您打算生成代码的MATLAB代码中使用它。
的修改副本type_obj
= coder.typeof (v
,深圳
,variable_dims
)type_obj
= coder.typeof (v
)所指定的上限大小深圳
变量维数由variable_dims
.
例子
输入参数
输出参数
限制
对于稀疏矩阵,
coder.typeof
删除可变大小维度的上界。对于表示GPU数组,只支持有界的数字和逻辑基类型。金宝app不支持标量GPU数组、结构、单元格数组、类、枚举类型、字符、半精度和定点数据类型。金宝app
当使用
coder.typeof
为了表示GPU阵列,GPU代码配置对象的内存分配(malloc)模式属性必须设置为“离散”
.
提示
coder.typeof
方法修复单个维度的大小variable_dims
参数显式指定了单个维度具有可变大小。例如,下面的代码指定了一个1 ×:10的双精度。第一个维度(单体维度)具有固定的大小。第二个维度的大小是可变的。
T =编码器。typeof(5,[1 10],1)
T =编码器。typeof(5,[1 10],[1 1])
请注意
对于一个MATLAB函数输入或输出信号的块、单体尺寸不能有可变大小。
如果已经使用类型函数指定了输入变量的类型,则不要使用
coder.typeof
除非您还想指定大小。例如,而不是coder.typeof(单(0))
,使用语法单(0)
.对于单元格数组类型,
coder.typeof
确定单元格数组类型是同构的还是异构的。如果单元格数组元素具有相同的类和大小,
coder.typeof
返回同构单元格数组类型。如果元素有不同的类,
coder.typeof
返回异构单元格数组类型。对于一些细胞阵列,同质或异质的分类是不明确的。例如,{1[2 3]}的类型可以是1x2异构类型,其中第一个元素是double,第二个元素是1x2 double。该类型也可以是1x3同构类型,其中元素的类为double,大小为1x:2。对于这些模棱两可的情况,
coder.typeof
使用启发式将类型分类为同质或异质。如果您想要不同的分类,请使用编码器。CellTypemakeHomogeneous
或makeHeterogeneous
方法来创建具有所需分类的类型。的makeHomogeneous
方法生成类型的同构副本。的makeHeterogeneous
方法生成类型的异构副本。的
makeHomogeneous
而且makeHeterogeneous
方法永久地将分类指定为异质和同质。以后不能使用这些方法之一创建具有不同分类的副本。在GPU数组类型的代码生成过程中,如果入口点函数的一个输入是GPU数组类型,那么输出变量都是GPU数组类型,前提是它们支持GPU代码生成。金宝app为例。如果入口点函数返回a
结构体
因为结构体
不支持,则生成金宝app的代码返回CPU输出。但是,如果返回支持的矩阵类型金宝app,则生成的代码将返回GPU输出。
另请参阅
codegen
|编码器。ArrayType
|编码器。CellType
|编码器。ClassType
|编码器。EnumType
|编码器。FiType
|coder.newtype
|编码器。PrimitiveType
|coder.resize
|编码器。StructType
|编码器。类型