主要内容

代码生成的表限制

当您在Matlab中创建表®您打算代码生成的代码,您必须使用使用Array2table.cell2table.struct2table或者表格功能。有关更多信息,请参阅桌子

对于表,代码生成具有这些限制:

  • 您必须使用该名称指定变量名称'variablenames'使用输入阵列创建表时的名称 - 值对参数表格Array2table.或者cell2table.功能。

    您不必指定'variablenames'通过使用使用该表预先采用表格的参数表格功能和'大小'名称值对参数。

  • 表变量名称不必是有效的MATLAB标识符。名称必须由ASCII字符组成,但可以包括任何ASCII字符(例如逗号,破折号和空格字符)。

  • 你不能改变variablenames.rownames.维度或者userdata.创建后表的属性。

    您可以指定'variablenames''rownames'创建表时输入参数。这些输入参数指定属性。

  • 将表索引传递为生成的代码作为输入参数,首先使用索引常量编码器.Constant.功能。如果表索引不是常量,则索引变量会产生错误。

  • 您无法将自定义元数据添加到表中。当addprop.rmprop.不支持功能。金宝app

  • 您无法通过分配更改表的大小。例如,添加新行产生错误。

    功能t = foo()%#codegen.T =表((1:3)',(1:3)','variablenames',{'var1''var2'});t(4,2)= 5;结束

    删除行或变量也会产生错误。

  • 当您预付表时,您只能使用以下数据类型指定以下数据类型'variabletypes'名称值对参数。

    数据类型名称

    每个元素中的初始值

    '双'“单身”

    双重或单精度0.

    'DoubleNan''DoubleNan''singlenan''singlenan'

    双重或单精度

    'int8''int16''int32''int64'

    签名8-,16-,32-或64位整数0.

    'uint8''uint16''uint32''uint64'

    无符号8-,16-,32-或64位整数0.

    '逻辑'

    0.

    '持续时间'

    0.秒,作为持续时间值

    'cellstr'

    {''}(具有0-you-0字符数组的单元格)

    如果您指定'char'作为数据类型,然后表格将相应的变量预配为字符向量的小区阵列,而不是作为字符阵列。最佳实践是避免创建具有字符数组的表变量。

  • 当您垂直连接表时,它们必须以相同的顺序具有相同的变量名称。在MATLAB中,变量名称必须相同,但可以在不同的订单中。

  • 当您水平连接表时,表格有行名称,它们必须以相同的顺序具有相同的行名称。在MATLAB中,行名称必须相同,但可以处于不同的订单中。

  • 如果两个表具有作为N-D单元阵列的变量,则表不能垂直连接。

  • 您不能使用CRAY BRACLE从多个表变量中提取数据,因为该操作是水平连接。

  • 设置成员函数相交setdiff.setxor.,和联盟金宝app在所有情况下都支持未分类的表。您不必指定“稳定”选项。

  • 使用时搬运活动函数,输入参数vars.不能包含重复的变量名称。

  • 使用时转录Vars.功能:

    • 不支持功能句柄。金宝app

    • 第二和第三个输入参数(vars.数据类型)必须是恒定的。

    • 您无法指定数据类型as.'char'

适用于类的限制也适用于表格。有关更多信息,请参阅代码生成的Matlab类定义

另请参阅

|||

相关主题