在MATLAB中创建时间表时®代码,您打算用于代码生成,您必须使用创建它们array2timetable
,table2timetable
, 要么时间表
功能。欲了解更多信息,请参阅时刻表(MATLAB)。
对于时间表,代码生成具有以下限制:
行时间必须有持续时间
数据类型。行时间不能有datetime
数据类型。
时间表的第一维度的名称是始终'时间'
。第一个维度的名称也是个行时间,你可以参考使用点符号矢量的名称。
属性指定变量名'VariableNames'
属性从输入数组创建时间表时的名称-值对参数时间表
或array2timetable
功能。
您不必指定'VariableNames'
参数预先分配时间表时时间表
函数和'尺寸'
名称 - 值对的参数。
时间表变量名称必须是有效的MATLAB标识符。变量名必须以字母开头,只能包含字母、数字和下划线。
创建时间表后,你不能改变的VariableNames
,DimensionNames
, 要么用户数据
属性。
当您创建时间表时,您可以指定'VariableNames'
和“RowTimes”
输入参数来设置具有这些名称的属性。
在指定时创建一个有规律的时间表'采样率'
,'开始时间'
, 要么“步伐”
名称 - 值对的参数,首先使用coder.Constant
功能使值不变。如果你没有让他们常量,则该行的时间被认为是不规则的。
此外,如果您创建一个不规则的时间表,那么它仍然是不规则的,即使你设置它的采样率或时间步长。
如果你创建一个普通的时间表,并尝试设置不规则的排次,然后产生一个错误。
要使用变量名建立时间表索引,首先使用coder.Constant
功能,使的时间表不变。
默认情况下,时间表的传递到生成的代码作为输入参数不是恒定的。甚至他们的变量和行时间不固定。如果时间表是不恒定的,那么使用的变量的索引操作会产生一个错误。你可以索引到一个时间表的变量使用,即使时间表不是恒定的数值或逻辑指标。
传递时间表索引到所生成的代码作为输入参数,首先使用coder.Constant
函数使指标进入时间表常数的第二个维度。如果进入第二个维度的索引不是常量,那么为变量建立索引会产生错误。
如果索引使用的时间表持续时间
值,或对象产生的timerange
或withtol
功能,则输出总是非常数与行的数目可变。
如果你索引到一个有规律的时间表使用持续时间
值,或对象产生的timerange
或withtol
功能,则输出总是被认为是不规则的。
不能向时间表添加自定义元数据。的addprop
和rmprop
功能不被支持。万博1manbetx
你不能改变的任务时间表的大小。例如,这个调用添加一个新行产生错误。
函数TT = FOO()%#代码生成TT =时间表((1:3) '(1:3)',“RowTimes”,秒([0,5,10]),...'VariableNames',{'VAR1','VAR2'});TT {4:} = (5, 5);结束
删除一行或通过分配的变量也产生一个错误。
您不能在分配使用新行时间添加一个新行。例如,这个调用通过使用新行时间,而不是一个数字指标不产生错误添加一个新行,也不会添加新行。
函数TT = FOO()%#代码生成TT =时间表((1:3) '(1:3)',“RowTimes”,秒([0,5,10]),...'VariableNames',{'VAR1','VAR2'});TT {秒(15),:} = [5,5];结束
当你预分配的时间表,只能指定使用以下数据类型“VariableTypes”
名称 - 值对的参数。
数据类型名称 |
在每个元素初始值 |
---|---|
|
双链或单精度 |
|
双链或单精度 |
|
有符号8-、16-、32-或64位整数 |
|
无符号的8-,16-,32-,或64位整数 |
|
|
|
|
|
|
|
|
如果您指定“字符”
作为数据类型,则时间表
预先分配相应的变量作为特征向量的单元阵列,而不是作为一个字符阵列。最好的做法是避免创建时间表变量是字符数组。
在垂直连接时间表时,它们必须具有相同的变量名,并且具有相同的顺序。在MATLAB中,变量名必须是相同的,但是在时间表中可以是不同的顺序。
当你水平串联时间表,他们必须在同一顺序相同的行倍。在MATLAB中,行时间必须是相同的,但可在时间表不同的订单。
如果两个时间段有一个是N d电池阵列的变量,那么你就不能垂直串联的时间表。
不能使用大括号从N-D单元格数组的多个时间表变量中提取数据,因为此操作是水平连接。
适用于类的限制也适用于时间表。欲了解更多信息,请参阅用于代码生成的MATLAB类定义。
array2timetable
|table2timetable
|时间表