当您在MATLAB表®代码,您打算用于代码生成,您必须使用创建它们array2table
,cell2table
,struct2table
, 要么表
功能。欲了解更多信息,请参阅表(MATLAB)。
对于表,代码生成具有以下限制:
您必须使用指定的变量名称'VariableNames'
通过使用产生从输入数组表时名称 - 值对参数表
,array2table
, 要么cell2table
功能。
您不必指定'VariableNames'
参数时,通过使用预先分配表表
功能和'尺寸'
名称 - 值对的参数。
表变量名必须是合法的MATLAB标识符。变量名必须以字母开头,并且只能包含字母,数字和下划线。
你不能改变的VariableNames
,RowNames
,DimensionNames
, 要么用户数据
表的属性之后,你创建它。
您可以指定'VariableNames'
和'RowNames'
输入参数当您创建一个表。这些输入参数指定属性。
要索引使用变量名称的表,首先通过使用使表常数coder.Constant
功能。
默认情况下,表格,你传递到生成的代码作为输入参数不是恒定的。甚至他们的变量和列名不恒定。如果一个表是不恒定的,然后通过使用可变或行的名称索引产生错误。你可以索引使用,即使它不是恒定的数字或逻辑索引的表。
通过表索引到所生成的代码作为输入参数,首先通过使用使索引恒定coder.Constant
功能。如果表索引不是恒定的,然后索引到变量产生错误。
你不能自定义元数据添加到表格。该addprop
和rmprop
功能不被支持。万博1manbetx
您无法通过指定更改表的大小。例如,添加了新的行产生错误。
功能T = FOO()%#代码生成T =表((1:3) '(1:3)','VariableNames'{'VAR1','VAR2'});T(4,2)= 5;结束
删除一行或一变量也产生一个错误。
当你预分配表,只能指定使用以下数据类型“变量类型”
名称 - 值对的参数。
数据类型名称 |
在每个元素初始值 |
---|---|
|
双链或单精度 |
|
双链或单精度 |
|
签名8-,16-,32-,或64位整数 |
|
无符号的8-,16-,32-,或64位整数 |
|
|
|
|
|
|
如果您指定“字符”
作为数据类型,则表
预先分配相应的变量作为特征向量的单元阵列,而不是作为一个字符阵列。最好的做法是避免创建字符数组表变量。
当你垂直串联表格,他们必须在同一顺序相同的变量名。在MATLAB中,变量名必须是相同的,但可以在不同的订单。
当你水平串联表,表中有行名,他们必须在同一顺序的相同行的名称。在MATLAB中,该行的名称必须是相同的,但可以在不同的订单。
如果两个表具有为N d单元阵列变量,则表不能被垂直串联。
不能使用大括号以从是N d单元阵列的多个表变量中提取数据,因为该操作是水平的级联。
适用于类限制也适用于表。欲了解更多信息,请参阅代码生成MATLAB类定义。
array2table
|cell2table
|struct2table
|表