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阵列,只支持有限的数字和逻辑基类型。不支持标量GPU数组、结构、单元格数组、类、枚举类型、字符、半精度和定点数据类型。
当使用
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的异构类型,其中第一个元素是双元素,第二个元素是1x2双元素。类型也可以是1x3同构类型,其中元素的类为double,大小为1x:2。对于这些模棱两可的案例,
coder.typeof
使用启发式方法将类型分类为同类或异类。如果您想要不同的分类,请使用编码器。CellTypemakeHomogeneous
或makeHeterogeneous
方法使用所需的分类生成类型。的makeHomogeneous
方法生成类型的同构副本。的makeHeterogeneous
方法生成类型的异构副本。的
makeHomogeneous
而且makeHeterogeneous
方法永久地将分类分配为异构和同构。以后不能使用这些方法之一创建具有不同分类的副本。在使用GPU阵列类型的代码生成过程中,如果入口点函数的一个输入是GPU阵列类型,那么输出变量都是GPU阵列类型,前提是GPU代码生成支持它们。为例。如果入口点函数返回a
结构体
因为结构体
,则生成的代码返回一个CPU输出。但是,如果返回支持的矩阵类型,则生成的代码返回GPU输出。
版本历史
介绍了R2011a