时间表

时间表阵列时间标记行和不同类型的变量

描述

时间表是一种将时间与每一行关联起来的表类型。与表一样,时间表存储面向列的数据变量,只要具有相同的行数,它们就可以具有不同的数据类型和大小。此外,时间表还提供特定于时间的功能,以便在一个或多个时间表中对带有时间戳的数据进行对齐、合并和执行计算。

行时间一个时间表是datetime或者期间值标记行。您可以按行时间和变量索引到时间表中。要编入时间表,请使用圆括号()返回子表或花括号{}提取内容。您可以使用名称参考变量和行时间的向量矢量。有关索引的更多信息,请参阅按行时间和变量类型选择时间表数据表格访问数据

创建

您可以使用从文件中读取数据到一个表readtimetable函数,或使用array2timetable或者table2timetable职能。或者,您可以使用时间表下面描述的功能。

当你使用的时候时间表函数时,可以指定行时间向量,或使用采样率或时间步长创建行时间。此外,您还可以创建一个时间表,为以后填写其值的变量预先分配空间。

描述

例子

TT =时间表(rowTimesvar1,…,varN根据输入数据变量创建时间表var1,…,varN和时间向量rowTimes.只要数据变量具有相同的行数,它们就可以具有不同的大小和数据类型。rowTimes必须是datetime或duration向量,也具有相同的行数。

例子

TT =时间表(var1,…,varN“RowTimes”,rowTimes指定rowTimes作为排次的源TT.使用此语法时,行名乘以向量TT总是时间,即使rowTimes是一个包含不同名称的工作区变量。

例子

TT =时间表(var1,…,varN“SampleRate”,Fs使用抽样率Fs计算规则间隔的排次。Fs是正的数值标量,指定样本每秒(赫兹)的数目。第一行时间为零秒。

例子

TT =时间表(var1,…,varN“步伐”,DT使用时间步DT计算规则间隔的排次。DT是指定的连续行时间之间的时间长度的持续时间或日历持续时间值。第一行时间为零秒。

例子

TT =时间表(“大小”,SZ., '变量类型',vartypes.“RowTimes”,rowTimes创建一个时间表,并为具有指定数据类型的变量预分配空间。SZ.是一个双元素数字数组,在哪里SZ [1]指定行数和SZ [2]指定变量的数量。vartypes.是字符向量指定数据类型的单元阵列。的倍数量rowTimes必须平等SZ [1]

例子

TT =时间表(“大小”,SZ., '变量类型',vartypes.“SampleRate”,Fs使用数据类型预先释放变量并使用采样率添加行时间Fs.第一行时间为零秒。

例子

TT =时间表(“大小”,SZ., '变量类型',vartypes.“步伐”,DT预分配具有数据类型的变量,并使用时间步长添加行时间DT.第一行时间为零秒。

例子

TT =时间表(___名称,值使用一个或多个名称值对参数指定其他输入参数。例如,您可以使用使用的变量名称“VariableNames”名称-值对。属性也可以指定开始时间'开始时间'具有抽样速率或时间步长的名称-值对。您可以将此语法与前面语法的任何输入参数一起使用。

输入参数

展开全部

输入变量,指定为具有相同行数量的阵列。输入变量可以具有不同的大小和不同的数据类型,只要它们具有相同的行数。

公共输入变量是数字阵列,逻辑阵列,字符串数组,结构数组和单元阵列。

输入变量也可以是数组对象。这样的数组必须支持表单的索引万博1manbetxvar (indexN index1…),在那里index1是一个与变量行对应的数字或逻辑矢量var..此外,数组必须同时实现aVertcat.方法和一种尺寸方法暗淡论点。

与时间表的行相关联的时间,指定为日期时间向量或持续时间向量。每次在输出时间表中标记一行,TT.时间值rowTimes不需要是唯一的、有序的或常规的。

数据类型:datetime|期间

预先分配的时间表的大小,指定为两个元素的数字向量。第一个元素SZ.指定行数,第二个元素指定时间表变量的数量。

预分析变量的数据类型,指定为字符向量或字符串数​​组的单元格数组。由此指定的类型数vartypes.必须等于?的第二个元素指定的变量数SZ.

vartypes.可以包含任何数据类型的名称,包括表中显示的名称。

数据类型名称

每个元素中的初始值

'双倍的'“单一”

双链或单精度0.

“doublenan”“doubleNaN”“singlenan”“singleNaN”

双链或单精度

“int8”“int16”“int32”'的Int64'

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

“uint8”'uint16'“uint32”'uint64'

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

'逻辑'

0.错误的

“分类”

<定义>绝对价值

'约会时间'

NaTDateTime值

'期间'

0.秒,作为持续时间值

“calendarDuration”

0.天,作为日历持续时间值

“字符串”

""(1×1字符串没有字符)

'cellstr'

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

“细胞”

{[]}(单元格为0 × 0双数组)

“结构”

没有字段的标量结构

“表”

无变量表

对于任何其他数据类型,初始值是用于通过该类型或类“中填充”的阵列的未分配的元素的值。

如果您指定“字符”作为一种数据类型时间表将相应的变量预分配为字符向量的单元格数组,而不是字符数组。最佳实践是避免创建字符数组的表或时间表变量。当处理表或时间表中的文本数据时,考虑使用字符串数组或类别数组。

采样率,指定为正数字标量。Fs指定每秒的样本数(Hz)。

时间步长,指定为持续时间标量。

如果您指定DT作为日历持续时间,并且您指定了'开始时间'名称值对参数,然后是值的'开始时间'必须是datetime标量。

数据类型:期间|calendarDuration

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。姓名是参数的名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:TT =时间表(rowTimes T W, VariableNames,{“温度”、“风速”})创建从输入阵列的时间表T.W.,并命名相应的时间表变量温度风速

变量名,指定为逗号分隔的对,由“VariableNames”和特征向量的单元阵列或一个字符串数组,其元素是非空的和不同的。

  • 数组中的名称数量必须等于时间表变量的数量。

  • 时间表函数还将变量名存储在VariableNames时间表的财产。

  • 变量名可以有任何Unicode®字符,包括空格和非ascii字符。

开始时间,指定为逗号分隔的对'开始时间'以及datetime标量或duration标量。开始时间也是时间表的第一行的行时间。

您可以指定'开始时间'只有当您还指定“SampleRate”或者“步伐”名称-值对的论点。

  • 如果启动时间是datetime值,则该行时间TTdatetime值。

  • 如果开始时间是持续时间,则行时间是持续时间。

  • 如果时间步DT是日历持续时间值,然后开始时间必须是DATETIME值。

数据类型:datetime|期间

属性

展开全部

访问时间表元数据属性

时间表包含描述时间表、它的行时间和它的变量的元数据属性。使用语法访问这些属性timetableName。特性。propertyname.,在那里propertyname.属性的名称。例如,您可以访问时间表中变量的名称TT通过tt.properties.variablenames.财产。

您可以使用该语法返回元数据属性的摘要timetableName。特性

时间表提供通过元数据访问属性财产,因为你可以直接使用点语法访问时间表数据。例如,如果时间表TT有一个名为Var1,则可以使用语法访问变量中的值TT.Var1

元数据时间表

维度名称,指定为字符向量的双元素单元数组或双元素字符串数组。

  • 维名称可以有任何Unicode字符,包括空格和非ASCII字符。

  • 如果使用字符串数组指定此属性,则将其转换并将其存储为字符向量的单元格数组。

您可以使用二维名称访问时间表数据。

  • 如果您使用点语法和第一个维度名称,那么您可以以向量的形式访问行次数。

  • 如果您使用点语法和第二个维度名称,那么来自所有变量的数据将被连接在一个数组中,就像您使用索引到时间表中一样{:,:}句法。

例子

创建时间表并显示其维度名称。您可以使用带有点语法的维度名称访问行时间和数据。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);TT.Properties.DimensionNames
ans =1 x2单元格{'时间'}{}“变量”

使用第一维度名称进入该行的时间。

tt.time.
ans =3 x1 datetime18 - 12月- 2015年12月19日- 12月- 2015 20 - - 2015

使用第二个维度名称访问数据。该语法等价于TT{:、:}

TT。变量
ans =3×337.3000 30.1000 13.4000 39.1000 30.0300 6.5000 42.3000 29.9000 7.3000

属性修改其维度的名称Properties.DimensionNames财产。已经更改的尺寸名,可以使用语法访问行的时间和数据TT。日期TT。W.eatherData分别。

TT.Properties.DimensionNames = {'日期''WeatherData'};TT.Properties
ANS = TimetableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '日期' 'WeatherData'} VariableNames:{ 'VAR1' 'VAR2' 'VAR3'} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowTimes:[3X1日期时间]开始时间:18-DEC-2015 SAMPLERATE:NaN的时间步长:1D CustomProperties来:没有自定义属性被设置。使用addprop和rmprop修改CustomProperties。

时间表描述,指定为字符向量或字符串标量。该描述在使用时是可见的概括功能。

如果您使用字符串标量指定此属性,然后将其转换并作为特征向量存储。

例子

创建一个时间表。修改时刻表的变量名和描述信息。显示结果的摘要。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);TT.Properties.VariableNames = {“临时”'压力'“风速”};tt.properties.description =.'2015年12月的天气数据';总结(TT)
描述:2015年12月的天气数据RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00变量:Temp: 3x1 double Values: Min 37.3中位数39.1 Max 42.3 Pressure: 3x1 double Values: Min 29.9中位数30.03 Max 30.1 WindSpeed: 3x1 double Values: Min 6.5中位数7.3 Max 13.4

额外的时间表信息,指定为数组。您可以使用此属性将任何类型的数据附加到时间表。

例子

创建一个时间表。修改变量名。附加一个匿名功能作为一条用户数据的与该时间表相关联。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);TT.Properties.VariableNames = {“临时”'压力'“风速”};华氏2摄氏度= @(x)(5.0/9.0)。* (x - 32);TT.Properties.UserData = Fahrenheit2Celsius;TT.Properties
ans = TimetableProperties with properties: Description: " UserData: @(x)(5.0/9.0).*(x-32) DimensionNames: {'Time' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowTimes: [3x1 datetime] StartTime: 18- 12 2015 SampleRate: NaN TimeStep: 1d CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。

个行时间元数据

行时间,指定为日期时间向量或持续时间向量。

  • 每一行的时间表都必须有一行的时间。

  • 时间表可以具有重复,无序或的行时间NaT或者值。

  • 当您查看时间表时,行时间是可见的。此外,您可以使用括号或花括号中的行时间来访问时间表数据。

  • 访问行时间的另一种方法是使用点语法和时间表的第一维度的名称。

例子

创建一个时间表。然后使用属性。RowTimes财产。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3])
tt =3×3的时间表时间Var1 Var2 Var3  ___________ ____ _____ ____ 18 - 12月- 2015 37.3 30.1 13.4 19 - 12月20 - 12月- 2015 - 2015 39.1 30.03 6.5 42.3 29.9 7.3
日期=日期时间(2017,1,1:3);TT.Properties.RowTimes =日期
tt =3×3的时间表时间Var1 Var2 Var3  ___________ ____ _____ ____ 01 - 1月- 2017 37.3 30.1 13.4 02 - 1月- 2017 39.1 30.03 6.5 03 - 1月- 2017 42.3 29.9 7.3

另一种访问行时间的方法是使用带有时间表第一个维度名称的点语法。

TT.Properties.DimensionNames
ans =1 x2单元格{'时间'}{}“变量”
tt.time.
ans =3 x1 datetime01-JAN-2017 02-JAN-2017 03-JAN-2017

行时间的开始时间,指定为日期时间标量或持续时间标量。开始时间等于时间表的第一行的行时间,并且具有相同的数据类型。

  • 如果开始时间是DateTime,那么那么行时间TTdatetime值。

  • 如果开始时间是持续时间,则行时间是持续时间。

  • 如果时间步长是日历持续时间,则开始时间必须是DATETIME值。

如果时间表是空的,则开始时间是

例子

创建一个时间表。在该时间段中,连续行之间的时间步长不相同,因此时间表是不规则的。

TT =时间表(datetime ({“2015-12-18”“二○一五年十二月二十○日”“2015年12月21日”}),...[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{“N”“本身”“西北”});TT.Properties.VariableNames = {“温度”“风速”'风向'}
tt =3×3的时间表时间温度WindDirection风速  ___________ ___________ _________ _____________ 18 - 12月- 2015年12月37.3 - 13.4 {' N '} 20 - 39.1 - 6.5 - 2015 {SE的}21 - 12月- 2015 42.3 - 7.3{“西北”}

显示其属性。价值开始时间属性等于第一行时间。无论一个时间表是规则的还是不规则的,它总是有一个开始时间,除非它是空的。

TT.Properties
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowTimes: [3x1 datetime] StartTime: 18- december 2015 SampleRate: NaN TimeStep: NaN CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。

修改开始时间财产。注意,所有的行时间都有新值。对于每一行时间,值的变化等于第一行时间的原始值与新的开始时间之间的差。

TT.Properties.StartTime = datetime (“2018年4月9日”
tt =3×3的时间表时间温度风速风速___________ ___________ ________________________________09-est-2018 37.3 13.4 {'n'} 11-APR-2018 39.1 6.5 {'SE'} 12-2018 42.3 7.3 {'NW'}

采样率,指定为正数字标量。采样率是每秒样本数(Hz)。

如果行时间不常规,或者时间可以是空的,则采样率是

例子

时间步长,指定为持续时间标量。

  • 如果将时间步长指定为日历持续时间(例如日历月),则行时间向量必须是datetime向量。

  • 如果将时间步指定为持续时间(例如,秒),则行时间的向量可以是日期时间或持续时间向量。

如果行时间不是规则的,或者时间表为空,则时间步长为

例子

创建定期时间表。在该时间表中,行时间是持续时间,使用同一时间步骤创建。

强度= [100; 98.7; 95.2; 101.4; 99.1];tt =时间表(强度,“步伐”秒(0.01))
tt =5×1时间表时间强度________ _________ 0秒100 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

显示其属性。这步伐属性存储时间步骤中的持续时间。

TT.Properties
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Intensity'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowTimes: [5x1 duration] StartTime: 0 sec SampleRate: 100 TimeStep: 0.01 sec CustomProperties:不设置自定义属性。使用addprop和rmprop修改CustomProperties。

修改步伐财产。开始时间是一样的,但是其他行时间是不同的因为时间步长变大了。然而,该变量强度保持原样。

TT.Properties.TimeStep =秒(0.04)
tt =5×1时间表时间强度________ _________ 0秒100 0.04秒98.7 0.08秒95.2 0.12秒101.4 0.16秒99.1

数据类型:期间|calendarDuration

可变元数据

变量名,指定为字符向量的单元阵列或一个字符串数组,其元素是非空的和不同的。名称的数目必须等于变量的数量。

  • 变量名可以有任何Unicode字符,包括空格和非ascii字符。

  • 变量名在查看时间表和使用概括功能。此外,您可以使用括号内的变量名称,在Crace括号内,或使用点索引来访问表数据。

  • 如果使用字符串数组指定此属性,则将其转换并将其存储为字符向量的单元格数组。

例子

创建一个带有默认变量名的时间表。然后使用属性。VariableNames财产。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3])
tt =3×3的时间表时间Var1 Var2 Var3  ___________ ____ _____ ____ 18 - 12月- 2015 37.3 30.1 13.4 19 - 12月20 - 12月- 2015 - 2015 39.1 30.03 6.5 42.3 29.9 7.3
TT.Properties.VariableNames = {“临时”'压力'“风速”}
tt =3×3的时间表时间温度压力风速___________ ____ ________ _________ 18日 -  12月2015年37.3 30.1 13.4 19日 -  12月2015年39.1 30.03 6.5 20日 -  12月2015年42.3 29.9 7.3

显示和修改变量的基本方法是使用DOT语法按名称访问它们。

TT。T.emp
ans =3×137.3000 39.1000 42.3000
tt.cressure(3)= 30
tt =3×3的时间表时间温度压力风速___________ ____ ________ _________ 18日 -  12月2015年37.3 30.1 13.4 19日 -  12月2015年39.1 30.03 6.5 20日 -  12月2015年30 42.3 7.3

变量的描述,指定为字符向量的单元阵列或一个字符串数组。此属性可以是空单元格数组,这是默认值。如果数组不为空,则它必须包含多个元素,因为存在变量。您可以指定不具有说明变量的个别空字符向量或空字符串。

  • 的变量描述是可见的概括功能。

  • 如果使用字符串数组指定此属性,则将其转换并将其存储为字符向量的单元格数组。

例子

创建一个时间表。修改变量名称和描述。显示结果的摘要。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);TT.Properties.VariableNames = {“临时”'压力'“风速”};TT.Properties.VariableDescriptions = {的温度(外部)...“压力在汞”...“风速度传感器123”};总结(TT)
Rowtimes:时间:3x1 DateTime值:Min 18-Dep-2015中位数19-Dec-2015 Max 20-Dec-2015-20-10 2015时间Simestep 24:00:00变量:TEMP:3x1双倍物业:描述:温度(外部)值:min 37.3中位数39.1 MAX 42.3压力:3x1双倍特性:HG值压力:MIN 29.9中位数30.03 MAX 30.1风速:3x1双级特性:描述:传感器123的风速123值:MIN 6.5中位数7.3 MAX 13.4

可变单元,指定为字符向量或字符串数​​组的单元格数组。此属性可以是空单元格数组,这是默认值。如果数组不为空,则它必须包含多个元素,因为存在变量。您可以为没有单位的变量指定单独的空字符向量或空字符串。

  • 变量单位在使用时是可见的概括功能。

  • 如果使用字符串数组指定此属性,则将其转换并将其存储为字符向量的单元格数组。

例子

创建一个时间表。修改变量名和单位。显示结果的摘要。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);TT.Properties.VariableNames = {“临时”'压力'“风速”};tt.properties.varifeUldeUnits = {“华氏度”毫米汞柱的“MPH”};总结(TT)
变量:温度:3x1 double属性:单位:度F值:Min 37.3中值39.1 Max 42.3 Pressure: 3x1 double属性:单位:mm Hg值:Min 29.9中值30.03 Max 30.1 WindSpeed: 3x1 double属性:单位:mph值:最小6.5中位数7.3最大13.4

状态为连续或离散变量,指定为字符向量或字符串数​​组的单元格数组。此属性可以是空数组,这是默认值。如果数组不为空,则它必须包含多个元素,因为存在变量。每个元素都可以是'unsset'“连续”“步骤”, 或者'事件'

中的值VariableContinuity影响如何调整时间或者同步功能工作。如果您指定VariableContinuity和呼叫调整时间或者同步,然后您不需要指定方法。反而,调整时间同步使用以下默认方法填写输出时间表变量:

  • 'unsset'-使用该类型的缺失数据指示器填充值(例如对于数值型变量)。

  • “连续”-使用线性插值填充值。

  • “步骤”- 使用前值填入值。

  • '事件'-使用该类型的缺失数据指示器填充值(例如对于数值型变量)。

如果你指定一个方法作为输入参数调整时间或者同步,则该方法将重写中指定的值VariableContinuity

有关使用的更多信息VariableContinuity财产,看到使用不同的方法重新调整并同步时间表变量

例子

创建一个时间表。指定A.matlab.tabular.Continity.每个变量的值。

TT =时间表(datetime ({“2015-12-18”“2015-12-19”“二○一五年十二月二十○日”}),...[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{“N”“本身”“西北”});TT.Properties.VariableNames = {“温度”“风速”'风向'};TT.Properties.VariableContinuity = {“连续”'事件''事件'};TT.Properties
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [continuous event event] RowTimes: [3x1 datetime] StartTime: 18- december 2015 SampleRate: NaN TimeStep:1d CustomProperties:不设置自定义属性。使用addprop和rmprop修改CustomProperties。

自定义元数据

时间表及其变量的自定义元数据,指定为CustomProperties对象。

CustomProperties对象是用于自定义元数据的容器,您可以添加到时间表。默认情况下,CustomProperties为零的属性。添加到的每个属性CustomProperties可以包含表元数据或变量元数据。如果属性包含变量元数据,那么它的值必须是一个数组,数组中的元素数量必须等于时间表变量的数量。

  • 要将自定义元数据的属性添加到时间表,请使用addprop.功能。

  • 要访问或修改自定义元数据,请使用语法timetableName.Properties.CustomProperties。propertyname..在此语法,propertyname.您在添加属性时选择的名称是否使用addprop.

  • 要删除属性,请使用rmprop功能。

注意:您可以添加或删除只有使用自定义元数据的属性addprop.rmprop.控件的属性不能添加或删除timetableName。特性对象。

例子

创建一个包含天气数据的时间表。

TT =时间表(datetime ({“2015-12-18”“二○一五年十二月二十○日”“2015年12月21日”}),...[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{“N”“本身”“西北”});TT.Properties.VariableNames = {“温度”“风速”'风向'}
tt =3×3的时间表时间温度WindDirection风速  ___________ ___________ _________ _____________ 18 - 12月- 2015年12月37.3 - 13.4 {' N '} 20 - 39.1 - 6.5 - 2015 {SE的}21 - 12月- 2015 42.3 - 7.3{“西北”}

要描述测量这些数据的仪器和输出文件的名称,可以使用addprop.功能。这仪器属性具有应用于的变量的元数据TT.这输出文件属性有表元数据。

TT = addprop(TT,{“工具”“OutputFile”},{“变量”“表”});TT.Properties
ANS = TimetableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '时间' '变量'} VariableNames:{ '温度' '风速' 'WindDirection'} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowTimes:[3x1 DateTime] starttime:18-dec-2015 Samplere:nain simeStep:NaN自定义属性(使用t.properties.customproperties访问。):outputfile:[]仪器:[]

使用点语法为定制的元数据赋值。将文本值数组分配给自定义元数据时,最佳实践是使用字符串数组,而不是字符向量的单元格数组。如果CustomProperties是字符向量的单元格数组,则没有机制阻止您以后将非文本值作为单元格数组的元素分配。

TT.Properties.CustomProperties.Instruments = [“温度计”“风速计”“风向标”];tt.properties.customproperties.Outputile =.'weatherredings.csv';TT.Properties
ANS = TimetableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '时间' '变量'} VariableNames:{ '温度' '风速' 'WindDirection'} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowTimes:[3X1日期时间]开始时间:18-DEC-2015 SAMPLERATE:NaN的时间步长:NaN的自定义属性(使用t.Properties.CustomProperties访问<名称>):OUTPUTFILE: 'weatherReadings.csv' 仪器:[ “温度计” “风速计”“风向标”]

去除那个输出文件物业TT

tt = rmprop(tt,“OutputFile”);TT.Properties
ANS = TimetableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '时间' '变量'} VariableNames:{ '温度' '风速' 'WindDirection'} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowTimes:[3X1日期时间]开始时间:18-DEC-2015 SAMPLERATE:NaN的时间步长:NaN的自定义属性(使用t.Properties.CustomProperties访问<名称>):仪器:[ “温度计” “风速计” “风向标”]

例子

全部收缩

在时间表中存储关于不同时间测量的天气情况的数据。除了存储之外,时间表还提供了将数据同步到指定时间的函数。你也可以在时间表上做注释,描述你的工作和时间表上的变量。

从工作区变量创建一个时间表。中的值MeasurementTime成为时间表上的排时间。所有其他输入参数都成为时间表变量。使用此语法时,行名乘以vector和变量TT是相应输入参数的名称。

MeasurementTime = datetime ({'2015-12-18 08:03:05'“2015-12-18 10:03:17”'2015-12-18 12:03:13'});Temp = (37.3; 39.1; 42.3);压力= (30.1;30.03;29.9);=(13.4; 6.5; 7.3);风速TT =时间表(MeasurementTime、温度、压力、风速)
tt =3×3的时间表MeasurementTime温度压力风速____________________ ____ ________ _________ 18日 -  12月2015年8点03分05秒37.3 30.1 13.4 12月18日 -  2015年10点03分17秒39.1 30.03 6.5 12月18日 -  2015年12点03分13秒42.3 29.9 7.3

以每小时的时间步长同步天气数据到常规时间。使用线性插值将数据调整到新的时间。

TT2 =调整时间(TT),“每小时”'线性'
TT2 =6×3时间表MeasurementTime Temp Pressure WindSpeed ____________________ ______________ _________ 18-Dec-2015 08:00:00 37.254 30.102 13.577 18-Dec-2015 09:00:00 38.152 30.067 10.133 18-Dec-2015 10:00:00 39.051 30.032 6.6885 18-Dec-2015 11:00:00 40.613 29.969 6.8783 18-Dec-2015 12:00:00 42.214 29.903 7.2785 18-Dec-2015 13:00:00 43.815 29.838 7.6788

由于输出的行时间不是测量时间,因此重命名行时间的向量。该矢量也是时间表的第一维的名称。

TT2.Properties.DimensionNames {1} =“InterpolatedTimes”
TT2 =6×3时间表InterpolatedTimes Temp Pressure WindSpeed ____________________ ______________ _________ 18-Dec-2015 08:00:00 37.254 30.102 13.577 18-Dec-2015 09:00:00 38.152 30.067 10.133 18-Dec-2015 10:00:00 39.051 30.032 6.6885 18-Dec-2015 11:00:00 40.613 29.969 6.8783 18-Dec-2015 12:00:00 42.214 29.903 7.2785 18-Dec-2015 13:00:00 43.815 29.838 7.6788

注释TT2.有描述。你可以注释TT2.并使用元数据的变量通过访问tt2.properties.

TT2.Properties。描述='天气数据,插入定期每小时时间';tt2.properties.
ANS = TimetableProperties与属性:描述: '天气数据,内插,以定期每小时倍' 的UserData:[] DimensionNames:{ 'InterpolatedTimes' '变量'} VariableNames:{ '温度' '压力' '风速'} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowTimes:[6X1日期时间]开始时间:18-DEC-2015八点00分00秒采样率:2.7778e-04时间步长:01:00:00 CustomProperties来:没有自定义属性被设置。使用addprop和rmprop修改CustomProperties。

您可以使用点语法访问时间表的行倍。此外,您还可以访问使用它的第二个维度名称的时间表使用点语法各个变量,或全部数据。

从mat -文件加载一个时间表户外.显示前三行。

加载户外户外(1:3,:)
ans =3×3的时间表时间湿度温度fucturehg ___________________ ________ ______________________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 48.9 51.5 29.61 2015-11-15 03:00:24 48.9 51.5 29.61

使用行乘以向量的名称访问行乘以。这个名称也是时间表的第一个维度的名称。户外存储行时间作为日期时间矢量。显示前三次。

户外.Time(1:3)
ans =3 x1 datetime2015-11-15 00:00:24 2015-11-15 01:30:24 2015-11-15 03:00:24

访问温度为数字向量,使用它的变量名。

户外.Temperaturef(1:3)
ans =3×151.3000 51.5000 51.5000

使用语法以矩阵的形式访问所有的时间表数据户外.该语法使用时间表的第二个维度名称,相当于使用花括号索引访问所有内容,户外{:,:}.但是,这个矩阵不包括行时间,因为行时间的向量是时间表元数据,而不是变量。如果时间表数据不能连接到矩阵中,则会引发错误消息。

户外
ans =51×349.0000 51.3000 29.6100 48.9000 51.5000 29.6100 48.9000 51.5000 29.6100 48.8000 51.5000 29.6100 48.7000 51.5000 29.6000 48.8000 51.5000 29.6000 49.0000 51.5000 29.6000 49.1000 51.3000 29.6000 49.1000 51.3000 29.6100 49.1000 51.5000 29.6100⋮

重命名的第二个维度户外.如果更改名称,则可以使用新名称访问数据。

outdoors.Properties.DimensionNames {2} =“数据”;在户外。数据
ans =51×349.0000 51.3000 29.6100 48.9000 51.5000 29.6100 48.9000 51.5000 29.6100 48.8000 51.5000 29.6100 48.7000 51.5000 29.6000 48.8000 51.5000 29.6000 49.0000 51.5000 29.6000 49.1000 51.3000 29.6000 49.1000 51.3000 29.6100 49.1000 51.5000 29.6100⋮

创建一个使用时间表“RowTimes”名称-值对的论点。注意,行的名称乘以向量TT时间,而不是MeasurementTime.当您使用此语法,行次向量的名字总是时间

MeasurementTime = datetime ({'2015-12-18 08:03:05'“2015-12-18 10:03:17”'2015-12-18 12:03:13'});Temp = (37.3; 39.1; 42.3);压力= (29.4;29.6;30.0);降雨= (0.1;0.9;0.0);StormDuration =[(2)小时(1);小时;南);TT =时间表(温度、压力、降雨、StormDuration“RowTimes”,测量时间)
tt =3×4时间表时间温度压力降雨StormDuration  ____________________ ____ ________ ______ _____________ 18 - 12月- 2015年08:03:05 37.3 29.4 0.1 1小时18 - 12月- 2015年10:03:17 39.1 29.6 0.9 42.3 2小时18 - 12月- 2015 12:03:13 30 0南人力资源

创建一个时间表。如果有不是工作区变量的输入参数,则时间表函数将默认名称赋给相应的行乘以向量和时间表的变量。例如,如果您将一些输入参数转置为列向量,那么这些输入参数就不是工作区变量。默认名称为时间对于行乘以向量VarNNth时间表变量。

T =小时(1:3);Temp = (37.3; 39.1; 42.3);P = [29.4 29.6 30];TT =时间表(T '温度,P')
tt =3×2时间表时间Temp Var2 ____ ____ ____ 1小时37.3 29.4 2小时39.1 29.6 3小时42.3 30

使用100hz的采样率创建一个常规的时间表。

强度= [100; 98.7; 95.2; 101.4; 99.1];tt =时间表(强度,“SampleRate”,100)
tt =5×1时间表时间强度________ _________ 0秒100 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

创建一个以30秒作为第一行时间的时间表。要指定开始时间,请使用'开始时间'名称-值对的论点。

tt =时间表(强度,“SampleRate”,100,'开始时间'秒(30))
tt =5×1时间表时间强度_________ _____________________________30秒30 30.01秒98.7 30.02秒95.2 30.03秒101.4 30.04秒99.1

创建一个固定的时间表,使用0.01秒的时间步长。必须将时间步骤指定为持续时间或日历持续时间值。

强度= [100; 98.7; 95.2; 101.4; 99.1];tt =时间表(强度,“步伐”秒(0.01))
tt =5×1时间表时间强度________ _________ 0秒100 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

创建一个以30秒作为第一行时间的时间表。要指定开始时间,请使用'开始时间'名称-值对的论点。

tt =时间表(强度,“步伐”秒(0.01),'开始时间'秒(30))
tt =5×1时间表时间强度_________ _____________________________30秒30 30.01秒98.7 30.02秒95.2 30.03秒101.4 30.04秒99.1

通过指定表的大小和变量的数据类型来预分配表。这时间表函数使用适合于您指定的数据类型的默认值填充变量。它还为变量提供默认名称。

T = [日期时间('现在')DateTime(2017,11,1:3)];Sz = [4 3];vartypes = {'双倍的''双倍的'“字符串”};TT =时间表('尺寸',SZ,'variabletypes',varTypes,“RowTimes”, T)
tt =4×3时间表时间Var1 Var2 Var3  ____________________ ____ ____ _________ 2020年- 2月29日00:07:15 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是0 0 <失踪> 03 - 11月- 2017就是0 0 <失踪>

要指定变量的名称,请使用“VariableNames”名称-值对的论点。

varNames = {“温度”“风速”“站”};TT =时间表('尺寸',SZ,'variabletypes',varTypes,“RowTimes”T“VariableNames”,varNames)
tt =4×3时间表时间温度风速站  ____________________ ___________ _________ _________ 2020年- 2月29日00:07:15 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是0 0 <失踪> 03 - 11月- 2017就是0 0 <失踪>

添加数据一行TT.当代码一次添加一行或几行数据时,预分配可能是一种有用的技术。您可以填充已经有空间存放数据的表变量,而不是每次添加一行时都增加时间表。您可以在单元格数组中封装一行数据值,并将其分配给时间表的一行。

按时间下标到一行,并分配一行数据值。您还可以通过数字下标到行和变量中。然而,按时间订阅时间表是一种有用的技术。

TT(DateTime(2017,11,2),:) = {48.2,13.33,“S1”}
tt =4×3时间表时间温度风速站  ____________________ ___________ _________ _________ 2020年- 2月29日00:07:15 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是48.2 - 13.33“S1”03 - 11月- 2017就是0 0 <失踪>

您可以在一个单元阵列封装数据值行。当您从一个单元阵列分配行,分配单元阵列成排时间表转换。

指定1000 Hz的采样率,并预先采用时间表。您还可以指定开始时间。

Sz = [4 3];vartypes = {'uint64''双倍的''期间'};TT =时间表('尺寸',SZ,'variabletypes',varTypes,“SampleRate”, 1000,'开始时间'秒(15))
tt =4×3时间表时间Var1 Var2 Var3 __________ ________ ________ 15 sec 00 00:00 15.001 sec 00 00:00 15.002 sec 00 00:00 15.003 sec 00 00:00

通过指定其时间并添加一行数据来索引到第三行。

TT(秒(15.002):)={50 1.37分钟(76)}
tt =4×3时间表时间VAR1 VAR2 VAR3 __________ ____ ____ ________ 15秒0 0 00:00:00 15.001秒0 0 00:00:00 15.002秒50 1.37 1时16分00秒15.003秒0 0 0点00分00秒

指定时间步长和变量名称。

sz = [3 2];vartypes = {'双倍的''双倍的'};TT =时间表('尺寸',SZ,'variabletypes',varTypes,“步伐”秒(0.1),“VariableNames”,{'强度''距离'})
tt =3×2时间表时间强度距离  _______ _________ ________ 0秒0 0 0.1秒0 0 0 0 0.2秒

索引到第二行,指定它的时间,并添加一行数据。

TT(秒(0.1):)= {93.6,11.27}
tt =3×2时间表时间强度距离  _______ _________ ________ 0秒0 0 0.1秒93.6 11.27 0.2秒0 0

创建时间表并指定时间表变量的名称。行乘以向量是持续时间向量,单位是秒。

时间=秒(1:5)';tt =时间表(时间,[98; 97.5; 97.9; 98.1; 97.9],[120; 111; 119; 117; 116],...“VariableNames”,{“Reading1”“Reading2”})
tt =5×2时间表时间Reading1 Reading2 _____ ________ ________ 1秒98 120 2秒97.5 111 3秒97.9 119 4秒98.1 117 5秒97.9 116

从R2019b开始,您可以指定不是有效的MATLAB®标识符的时间表变量名称。这样的变量名可以包括空格、非ascii字符,并且可以使用任何字符作为前导字符。

例如,使用日期作为包含读数的时间表变量的名称。

tt =时间表(时间,[98; 97.5; 97.9; 98.1; 97.9],[120; 111; 119; 117; 116],...“VariableNames”,{'29 -May-2019''30 -May-2019'})
tt =5×2时间表时间2019年5月29日-2019年5月30日-2019年_____ ___________ ___________ 1秒98 120 2秒97.5 111 3秒97.9 119 4秒98.1 117 5秒97.9 116

要使用点符号时的名称是不是有效的标识符,包括括号和引号。

tt。('29 -May-2019'
ans =5×198.0000 97.5000 97.9000 98.1000 97.9000

限制

  • 使用这些输入名称单引号:

    • “RowTimes”

    • “SampleRate”

    • '尺寸'

    • '开始时间'

    • “步伐”

    • 'variabletypes'

    • “VariableNames”

    为避免与变量输入混淆,不要使用双引号字符串标量(例如“RowTimes”)。

提示

  • 有关接受或返回时间表的功能列表,请参阅时间表

  • 在某些情况下,你可以调用时间表使用指定行时间间隔的常规时间步长的语法时间表返回一个不规则的时间表。当您使用日历时间单位指定时间步长,并且存在引入不规则步骤的行时间时,就会出现此结果。例如,如果您创建的时间表的时间步长为一个日历月,从2019年1月31日开始,那么它与月份的关系是不规则的。

    少许= datetime (2019, 31);tstep = calmonths (1);TT =时间表('尺寸',[3 1],'variabletypes',{'双倍的'},...“步伐”,tstep,'开始时间'少许)
    Tt = 3×1时间表时间var1 ___________ ____ 31-jan-2019 0 28-Feb-2019 0 31-Mar-2019 0

    还有其他情况,其中违规是由于夏令时(DST)的偏移或闰秒的行时间。此表指定了可能意外地产生不规则时间表的行时间值和时间步骤。

    行时间值

    时间步骤

    开始时间指定为本月29日,30日或31日。

    日历月或季度的数目。

    开始时间指定为2月29日。

    历年数。

    上午01时00分和上午2点之间发生的某一天从DST转换到标准时间(当行时间被指定为,其时区观察DST日期时间值)的任何行的时间。 日历天或月数。

    闰秒的任何行时间(当行时间指定为时区的日期时间值时UTCLeapSeconds时区)。有关闰秒的列表,请参见leapseconds

    时间步长在任何日历单位(天,周,月,季度或年)指定。

兼容性的考虑

展开全部

行为在R2019b中改变

不推荐以R2018B开始

扩展能力

介绍在R2016B.