表限制代码生成

当您在MATLAB表®代码,您打算用于代码生成,您必须使用创建它们array2tablecell2tablestruct2table, 要么功能。欲了解更多信息,请参阅(MATLAB)。

对于表,代码生成具有以下限制:

  • 您必须使用指定的变量名称'VariableNames'通过使用产生从输入数组表时名称 - 值对参数array2table, 要么cell2table功能。

    您不必指定'VariableNames'参数时,通过使用预先分配表功能和'尺寸'名称 - 值对的参数。

  • 表变量名必须是合法的MATLAB标识符。变量名必须以字母开头,并且只能包含字母,数字和下划线。

  • 你不能改变的VariableNamesRowNamesDimensionNames, 要么用户数据表的属性之后,你创建它。

    您可以指定'VariableNames''RowNames'输入参数当您创建一个表。这些输入参数指定属性。

  • 要索引使用变量名称的表,首先通过使用使表常数coder.Constant功能。

    默认情况下,表格,你传递到生成的代码作为输入参数不是恒定的。甚至他们的变量和列名不恒定。如果一个表是不恒定的,然后通过使用可变或行的名称索引产生错误。你可以索引使用,即使它不是恒定的数字或逻辑索引的表。

  • 通过表索引到所生成的代码作为输入参数,首先通过使用使索引恒定coder.Constant功能。如果表索引不是恒定的,然后索引到变量产生错误。

  • 你不能自定义元数据添加到表格。该addproprmprop功能不被支持。万博1manbetx

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

    功能T = FOO()%#代码生成T =表((1:3) '(1:3)','VariableNames'{'VAR1''VAR2'});T(4,2)= 5;结束

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

  • 当你预分配表,只能指定使用以下数据类型“变量类型”名称 - 值对的参数。

    数据类型名称

    在每个元素初始值

    '双''单'

    双链或单精度0

    'doublenan''doubleNaN''singlenan''singleNaN'

    双链或单精度为NaN

    'INT8''INT16''INT32''的Int64'

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

    'UINT8''UINT16''UINT32''UINT64'

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

    “逻辑”

    0

    “持续时间”

    0秒,作为一个持续时间值

    'cellstr'

    { ''}(具有0逐0字符阵列单元)

    如果您指定“字符”作为数据类型,则预先分配相应的变量作为特征向量的单元阵列,而不是作为一个字符阵列。最好的做法是避免创建字符数组表变量。

  • 当你垂直串联表格,他们必须在同一顺序相同的变量名。在MATLAB中,变量名必须是相同的,但可以在不同的订单。

  • 当你水平串联表,表中有行名,他们必须在同一顺序的相同行的名称。在MATLAB中,该行的名称必须是相同的,但可以在不同的订单。

  • 如果两个表具有为N d单元阵列变量,则表不能被垂直串联。

  • 不能使用大括号以从是N d单元阵列的多个表变量中提取数据,因为该操作是水平的级联。

适用于类限制也适用于表。欲了解更多信息,请参阅代码生成MATLAB类定义

也可以看看

|||

相关话题