主要内容

在命令行指定单元格数组输入

要在命令行指定单元格数组,请使用与其他类型的输入使用相同的方法。你可以:

  • 提供输入到的示例单元格数组- args.选项Codegen.命令。

  • 提供一个Coder.celltype.对象到- args.选项Codegen.命令。创建一个Coder.celltype.对象,使用Coder.typeof.

  • 编码器.Constant.指定常数单元阵列输入。

对于代码生成,细胞阵列被归类为均匀或异质。看单元格阵列的代码生成。当您提供示例单元格数组时Codegen.或者Coder.typeof.,该功能确定单元阵列类型是均匀的还是异质的。如果小区数组元素具有相同的类和大小,Coder.typeof.返回一个同质的单元阵列类型。如果元素有不同的类,Coder.typeof.返回异构单元阵列类型。对于一些细胞阵列,分类为均匀或异质的分类是模糊的。例如,{1 [2 3]}的类型可以是1x2异构类型。第一元素是双重,第二个元素是1x2双元素。该类型也可以是1x3均匀类型,其中元件具有类双和尺寸1x:2。对于这些暧昧的案件,Coder.typeof.使用启发式将类型分类为均匀或异质。如果您想要不同的分类,请使用Coder.celltype.makehomenesous或者makesheter obeneous方法。这makehomenesous方法制造一种类型的均匀副本。这makesheter obeneous方法制作类型的异构拷贝。

makehomenesousmakesheter obeneous方法分别永久地将分类分配为均匀和异质。您不能稍后使用其中一种方法来创建具有不同分类的副本。

如果您有一个测试文件,可以使用coder.getargtypes.确定输入类型。在输出单元格式中,用于单元格阵列输入,coder.getargtypes.返回A.Coder.celltype.目的。如果您想要不同的分类(均匀或异构),请使用makehomenesous或者makesheter obeneous方法。

按示例指定单元格数组输入

要指定按示例输入的单元格数组,请提供示例单元格数组- args.选项Codegen.命令。

例如:

  • 指定元素具有类双级的1x3单元格数组:

    Codegen.myfunction.-  args.{{1 2 3}}-报告

    输入参数是一个1x3同类单元阵列,其元素为1x1双倍。

  • 要指定一个1x2单元格数组,其第一个元素具有类char,其第二个元素具有类双重:

    Codegen.myfunction.-  args.{{'a',1}}}-报告

    输入参数是一个1x2异构单元阵列,其第一元素为1x1 char,其第二元素是1x1 double。

指定单元格阵列输入的类型

指定单元格阵列输入的类型,使用Coder.typeof.创建一个Coder.celltype.目的。通过Coder.celltype.对象到- args.选项Codegen.命令。

例如:

  • 指定元素具有类双级的1x3单元格数组:

    t = coder.typeof({1 2 3});Codegen.myfunction.-  args.{t}-报告

    输入参数是一个1x3同类单元阵列,其元素为1x1双倍。

  • 要指定一个1x2单元格数组,其第一个元素具有类char,其第二个元素具有类双重:

    t = coder.typeof({'一种',1});Codegen.myfunction.-  args.{t}

    输入参数是一个1x2异构单元阵列,其第一元素是1x1 char,其第二元素是1x1 double。

您还可以使用高级功能编码器.Newtype.创建一个Coder.celltype.目的。

制作类型的同质副本

如果Coder.typeof.返回异构单元阵列类型,但您想要一个均匀的类型,使用makehomenesous方法制作类型的均匀副本。

以下代码创建异构类型。

t = coder.typeof({1 [2 3]})
T =译者.CellType 1x2异构电池F0:1x1双F1:1x2双

要制作类型的同质副本,请使用:

t = makehomeneousous(t)
t =编码器.Celltype 1×2锁定均匀电池底座:1×:2双

或者,使用此表示法:

t = makehomenecous(coder.typeof({1 [2 3]}))
t =编码器.Celltype 1×2锁定均匀电池底座:1×:2双

分类为均匀被锁定(永久性)。你不能稍后使用makesheter obeneous制作类型的异构拷贝的方法。

如果类型的元素具有不同的类,例如Char和Double,则无法使用makehomenesous制作一个类型的类型。

如果你使用coder.cstructName.要指定表示生成代码中的类型的结构类型的名称,无法创建类型的同类副本。

制作一种类型的异构副本

如果Coder.typeof.返回一个同质的单元阵列类型,但您想要异构类型,使用makesheter obeneous制作类型的异构拷贝的方法。

以下代码创建一个同质类型。

t = coder.typeof({1 2 3})
T =编码器.Celltype 1x3均匀细胞基数:1x1双

使类型异构,使用:

t = makesheter oeneousous(t)
T =编码器.CellType 1×3锁定异构电池F1:1×1双F2:1×1双F3:1×1双

或者,使用此表示法:

T = Makesheter obeneOce(Coder.typeof({1 2 3}))
T =编码器.CellType 1×3锁定异构电池F1:1×1双F2:1×1双F3:1×1双

作为异质的分类被锁定(永久性)。你不能稍后使用makehomenesous方法制作类型的均匀副本。

如果类型为可变大小,则无法使用makesheter obeneous制作一个异构副本。

指定变量大小的单元格阵列输入

您可以通过以下方式指定可变大小的单元格阵列输入:

  • 在里面Coder.typeof.称呼。

    例如,要指定一个可变大小的单元阵列,其第一维度是固定的,其第二维度具有5的上限:

    t = coder.typeof({1},[1 5],[0 1])
    t =编码器.Celltype 1x:5均匀细胞基数:1x1双倍

    对于具有相同类的元素,但不同尺寸,您可以使用Coder.typeof.大小和可变尺寸创建变量大小同期单元阵列类型的参数。例如,以下代码不使用大小和变量尺寸参数。此代码为异构单元格阵列创建一个类型。

    t = coder.typeof({1 [2 3]})
    T =译者.CellType 1x2异构电池F0:1x1双F1:1x2双

    使用大小和尺寸参数的以下代码为变量大小的同质类型单元格数组创建了一种类型:

    t = coder.typeof({1 [2 3]},[1 5],[0 1])
    T =编码器.Celltype 1×:5锁定均匀的细胞基数:1×:2双
  • 编码器.Resize.

    例如,要指定一个可变大小的单元阵列,其第一维度是固定的,其第二维度具有5的上限:

    t = coder.typeof({1});t = coder.resize(t,[1 5],[0,1])
    t =编码器.Celltype 1x5均匀细胞基数:1x1双倍

    你不能使用编码器.Resize.具有异质电池阵列类型。

指定异构单元阵列输入的类型名称

异构单元阵列以生成的代码表示为结构。要在生成的代码中指定结构类型的名称,请使用coder.cstructName.

例如,指定名称我的名字对于生成的代码中的单元格数组类型:

t = coder.typeof({'一种',1})t = coder.cstructName(t,'我的名字'的)
T =编码器.Celltype 1×2锁定异构单元MyName F1:1×1 Char F2:1×1双

如果你使用coder.cstructName.具有均匀的细胞阵列类型,coder.cstructName.返回类型的异构副本。但是,它是最好的做法makesheter obeneous方法的方法Coder.celltype.对象制作均匀电池阵列类型的异构拷贝。然后,你可以使用coder.cstructName.与类型的异构拷贝。

指定常量单元阵列输入

要指定单元格数组输入是常量,请使用编码器.Constant.用来的功能- args.选项Codegen.命令。例如:

Codegen.myfunction.-  args.{coder.constant({'red',1'Green',2,'Blue',3})}-报告

输入是1x6异构电池阵列。元素的大小和类是:

  • 1x3字符

  • 1x1双倍

  • 1x5炭

  • 1x1双倍

  • 1x4炭

  • 1x1双倍

也可以看看

||||

相关例子

更多关于