文档

coder.CellTypeclass

包:编码器
超类:coder.ArrayType

代表的MATLAB细胞数组

描述

指定的细胞阵列集生成的代码接受。只使用与codegenarg游戏选择。不作为输入传递给函数生成的墨西哥人。

建设

t = coder.typeof (细胞)创建一个coder.CellType对象的单元阵列具有相同的细胞和细胞类型细胞。的细胞细胞类型的对象或示例值。

t = coder.typeof (细胞,深圳,variable_dims)创建一个coder.CellType对象指定的上界深圳和可变尺寸规定variable_dims。如果深圳指定一个维度,然后维度是无限维度的大小是可变的大小。当深圳[],上界不改变。如果你不指定variable_dims输入参数,除了无限维度,类型的尺寸是固定的。一个标量variable_dims适用于有限尺寸没有10

细胞指定单元阵列的元素有不同的类,你不能使用coder.typeof创建一个coder.CellType对象来适应细胞数组。

t = coder.newtype(“细胞”,细胞)创建一个coder.CellType对象为一个单元阵列所指定的细胞和细胞类型细胞。的细胞细胞必须类型对象。

t = coder.newtype(“细胞”,细胞,深圳,variable_dims)创建一个coder.CellType指定的上界深圳和可变尺寸规定variable_dims。如果深圳指定一个维度,然后维度是无限维度的大小是可变的大小。当深圳[],上界不改变。如果你不指定variable_dims输入参数,除了无限维度,类型的尺寸是固定的。一个标量variable_dims适用于有限尺寸没有10

细胞指定单元阵列的元素有不同的类,你不能使用coder.newtype创建一个coder.CellType对象来适应细胞数组。

输入参数

全部展开

单元阵列,用于指定输出的细胞和细胞类型coder.CellType对象。为coder.typeof,细胞可以包含对象类型或值的例子。为coder.newtype,细胞必须包含对象类型。

指定每个维度的上界细胞数组类型的对象。为coder.newtype,深圳不能改变异构单元阵列的细胞的数量。

coder.newtype,默认的是[1]

指定是否每个维度是可变大小(真正的)或固定大小的(错误的)。

coder.newtype,默认的是真正的为维深圳指定一个上界对于所有其他维度。

细胞指定单元阵列的元素有不同的类,您不能创建一个coder.CellType对象来适应细胞数组。

属性

全部展开

这种类型的运行时内存对齐的结构在字节。如果你有一个嵌入式编码器®许可和使用代码替换库(利用),利用提供的能力调整数据对象传入函数替换到指定的边界。您可以利用有针对性的功能实现要求的数据保持一致。默认情况下,结构不一致的在一个特定的界限,所以它不匹配CRL需要对齐的功能。

一个指定的单元阵列coder.Type每一个细胞。

在这组类的值。

指定是否外部定义单元阵列类型。

如果外部定义单元阵列类型,头文件的名称包含外部定义的类型,例如,“mytype.h”如果你使用codegen命令来指定文件路径,使用-我选择。如果你使用MATLAB®编码器™应用程序指定文件的路径,使用其他包括目录设置在自定义代码在“项目设置”对话框中选项卡。

默认情况下,生成的代码# include报表自定义头文件后的标准头文件。如果一个标准头文件指的是自定义结构类型,然后编译失败。如果你指定HeaderFile选项,代码生成器包括自定义头文件是必需的。

单元阵列的维度的上界。

这个名字在生成的代码中使用的结构类型表示该单元阵列类型。TypeName仅适用于异构单元数组类型。

向量指定数组的每个维度是否固定或变量的大小。如果一个向量元素真正的,相应的尺寸大小是可变的。

方法

isHeterogeneous 确定单元阵列类型代表一个异构单元阵列
isHomogeneous 确定单元阵列类型代表一个均质单元阵列
makeHeterogeneous 做一个异构单元阵列类型的副本
makeHomogeneous 创建一个均质单元阵列类型的副本

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象(MATLAB)。

例子

全部折叠

创建一个细胞类型数组的第一个元素类char和他的第二个元素类双。

t = coder.typeof ({123})
t =编码器。CellType 1 x3均匀的细胞基础:1 x1的两倍

是均匀的类型。

创建一个异构类型的元素的示例单元阵列类型有相同的类,使用makeHeterogeneous方法。

t = makeHeterogeneous(编码器。typeof ({1 2 3}))
t =编码器。CellType 1×3锁定异质细胞f1: 1×1双f2: 1×1双重f3: 1×1双

细胞数组类型是异构的。表示为一个结构生成的代码。

定义变量单元格值的例子。

一个=“一个”;b = 1;

通过单元格值的例子coder.typeof

t = coder.typeof ({a, b})
t =编码器。CellType 1 x2异质细胞f0: 1 x1 char f1: 1 x1的两倍

创建一个类型为单元阵列,其中包含大小不同的两个特征向量。

t = coder.typeof ({“aa”,“bbb”})
t =编码器。CellType 1 x2异质细胞f0: 1 x2 char f1: 1 x3 char

细胞数组类型是异构的。

创建一个使用相同的单元阵列的输入类型。这一次,指定单元阵列类型有适应维度。

t = coder.typeof ({“aa”,“bbb”},[1,10],[0,1])
t =编码器。CellType 1×10锁定均匀的细胞基础:1×:3字符

单元阵列类型是均匀的。coder.typeof确定基础类型1 x: 3字符可以代表“aa”,“bbb”

创建一个类型一个标量int8

ta = coder.newtype (“int8”[1]);

创建一个类型为:1 x: 2双行向量。

结核病= coder.newtype (“双”[1 - 2],[1]);

创建一个单元阵列类型的细胞已经指定的类型助教助教

t = coder.newtype (“细胞”,{助教,结核病})
t =编码器。CellType 1 x2异质细胞f0: 1 x1 int8 f1:: 1 x: 2双

创建一个异构单元阵列的细胞类型。

ca = coder.typeof(双(0));cb = coder.typeof(单(0));t = coder.typeof ({ca cb})
coder.CellType1x2 heterogeneous cell f0: 1x1 double f1: 1x1 single

使用coder.cstructname指定类型的名称和一个外部文件中定义的类型。

t = coder.cstructname (t)“mytype”,“外来的”,“HeaderFile”,“myheader.h”)
t =编码器。CellType 1×2走读生锁定异质细胞mytype (myheader.h) [1] f1: 1×1双重f2: 1×1单

提示

  • 的显示coder.CellType对象,条款锁定异构锁定均匀表明,分类同构或异构是永久的。你以后不能改变分类利用makeHomogeneousmakeHeterogeneous方法。

  • coder.typeof确定单元阵列类型是同构或异构。如果细胞数组元素具有相同的类和大小,coder.typeof返回一个均质单元阵列类型。如果元素有不同的类,coder.typeof返回一个异构单元阵列类型。对于某些细胞阵列,分类同构或异构是模棱两可的。例如,{1(2 3)}的类型可以是1 x2异构类型。第一个元素是两倍,第二个元素是1 x2的两倍。类型也可以是1 x3均匀大小和类型的元素类双1 x: 2。对于这些模棱两可的情况下,coder.typeof使用启发式同构或异构类型进行分类。如果你想要一个不同的分类、使用makeHomogeneousmakeHeterogeneous方法。的makeHomogeneous方法使均匀的副本类型。的makeHeterogeneous方法使异构类型的副本。

    makeHomogeneousmakeHeterogeneous方法永久分配同构和异构的分类,分别。你以后不能使用这些方法来创建一个副本,有不同的分类。

介绍了R2015b