时间表

具有时间戳的时间表数组和不同类型的变量

描述

时间表是一个类型的表,它与每一行相关联。与表一样,时间表存储面向列的数据变量,可以具有不同的数据类型和大小,只要它们具有相同的行数。此外,时间表提供了一个特定于时间的函数来对齐,组合,并在一个或多个时间表中使用时隙数据执行计算。

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

创建

您可以使用文件从文件读取数据到表中ReadTimetable.使用函数,或使用函数将变量转换为时间表Array2Timetable.或者table2timesable.功能。或者,您可以使用时间表下面描述的功能。

当你使用的时候时间表函数,则可以指定行时间矢量,或使用抽样速率或时间步长创建行时间。此外,您还可以为将来填充其值的变量创建一个预先分配空间的时间表。

描述

例子

TT =时间表(rowtimes.var1,...,变华从输入数据变量创建时间表var1,...,变华和时间向量rowtimes.。数据变量可以有不同的大小和数据类型,只要它们有相同的行数。rowtimes.必须是DateTime或持续时间向量,也具有相同数量的行。

例子

TT =时间表(var1,...,变华,'rowtimes',rowtimes.指定rowtimes.作为行的源码TT.。当你使用这种语法时,行名乘以向量TT.总是时间,即使是什么时候rowtimes.是一个包含不同名称的工作区变量。

例子

TT =时间表(var1,...,变华“SampleRate”,Fs使用样本率Fs计算有规律间隔的行时间。Fs是一个正数标量,指定每秒采样数(Hz)。第一行时间为零秒。

例子

TT =时间表(var1,...,变华,'timestep',DT.使用时间步DT.计算有规律间隔的行时间。DT.是一个持续时间或日历持续时间值,它指定连续行时间之间的时间长度。第一行时间为零秒。

例子

tt =时间表('size',SZ.“VariableTypes”,vartypes.,'rowtimes',rowtimes.为具有指定数据类型的变量创建时间表并预分配空间。SZ.是一个双元数字数组,在哪里深圳(1)指定行数和SZ(2)指定变量的数量。vartypes.指定变量的数据类型。次数rowtimes.必须等于深圳(1)

例子

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

例子

tt =时间表('size',SZ.“VariableTypes”,vartypes.,'timestep',DT.使用数据类型预先释放变量并使用时间步骤添加行时间DT.。第一行时间为零秒。

例子

TT =时间表(___名称,值使用一个或多个名称值对参数指定其他输入参数。例如,您可以使用使用的变量名称'variablenames'名称-值对。也可以使用'开始时间'名称 - 值对具有采样率或时间步骤。您可以使用此语法与先前语法的任何输入参数。

输入参数

全部展开

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

常见的输入变量是数字阵列,逻辑阵列,字符串阵列,结构阵列和单元格阵列。

输入变量也可以是数组类型的对象。这样的数组必须支持表单的索引金宝appvar(index1,...,indexn), 在哪里index1是一个与变量行对应的数字或逻辑矢量var。此外,阵列必须实现aVertcat.方法和尺寸方法用A.暗淡论点。

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

数据类型:datetime|期间

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

预分析变量的数据类型,指定为字符向量或字符串数​​组的单元格数组。由此指定的类型数vartypes.的第2个元素指定的变量个数必须等于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.错误的

'分类'

<定义>分类价值

“datetime”

NaTDateTime值

“持续时间”

0.秒,作为持续时间值

“日历”

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

'细绳'

(一个没有字符的1-by-1字符串)

'cellstr'

{"}(具有0 × 0字符数组的单元格)

'细胞'

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

“结构”

没有字段的标量结构

“表”

表没有变量

'时间表'

时间表,没有变量和NaT对于行时间

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

如果您指定“字符”那么,作为一种数据类型时间表将相应的变量预配为字符向量的小区阵列,而不是作为字符阵列。最佳实践是避免创建具有字符数组的表或时间表变量。使用表中的文本数据或时间表时,请考虑使用字符串数组或分类数组。

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

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

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

数据类型:期间|日历

名称-值对的观点

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

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

可变名称,指定为逗号分隔的配对'variablenames'和一个字符向量或字符串阵列的单元格数组,其元素是非空的和不同的。

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

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

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

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

您可以指定'开始时间'仅当您还指定'采样率'或者'timestep'名称-值对的论点。

  • 如果开始时间是datetime值,则行时间TT.datetime值。

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

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

数据类型:datetime|期间

属性

全部展开

访问时间表元数据属性

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

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

时间表提供元数据访问属性属性,因为可以直接使用点语法访问时间表数据。例如,如果时间表TT.有一个名为var1,然后您可以使用语法访问变量中的值tt.var1.

时间表的元数据

尺寸名称,指定为字符向量或两个元素字符串阵列的两个元素单元格数组。

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

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

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

  • 如果使用点语法和第一个维度名称,则可以将行时间作为向量访问。

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

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[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 datetime2015年18亿九五2015年 -  2015年20-Dec-2015

使用第二维名称访问数据。此语法相当于TT{:、:}

tt.variables.
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属性:描述:“用户数据:[]DimensionNames:{“日期”“WeatherData”}VariableNames:{“Var1”“Var2”“Var3”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:1 d CustomProperties:不设置自定义属性。使用addprop和rmprop修改customproperties。

时间表描述,指定为字符向量或字符串标量。使用时,该描述是可见的总结函数。

如果使用字符串标量指定此属性,则将其转换并存储为字符向量。

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[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:时间:3x1日期时间值:Min 18- 12 -2015 Median 19- 12 -2015 Max 20- 12 TimeStep 24:00:00变量:Temp: 3x1 double Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Values: Min 29.9 Median 30.03 Max 30.1风速:3x1 double Values: Min 6.5 Median 7.3 Max 13.4

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

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[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 = TometableProperties具有属性:描述:''''''''''''''''''''''''''(x)(5.0 / 9.0)。*(x-32)dimensionnames:{'time''变量'} variablenames:{'temp'压力''windspeed'}variabledescriptions.: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

行时间元数据

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

  • 每行时间必须有一个行时间。

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

  • 查看时间表时,行时间可见。此外,您可以使用括号内的行时间或卷曲大括号以访问时间表数据。

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

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3])
tt =3×3的时间表Time var1 var2 var3 ___________ ______________ ____ ____ 18-dec-2015 37.3 30.1 13.4 19-Dec-2015 39.1 30.03 6.5 20-DEC-2015 42.3 29.9
日期= DateTime(2017,1,1:3);tt.properties.rowtiimes =日期
tt =3×3的时间表Time Var1 var2 var3 ___________________________ 01-Jan-2017 37.3 30.1 13.4 02-Jan-2017 39.1 30.03 6.5 03-Jan-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,那么那么行时间TT.datetime值。

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

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

如果时间表是空的,那么开始时间是

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-20';'2015-12-21'}),......[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{'n';'se';'nw'});tt.properties.variablenames = {“温度”'风速''风向'}
tt =3×3的时间表时间温度风速风速___________ ___________________________________________________________________________13.4 {'n'} 20-DEC-2015 39.1 6.5 {'SE'21-DEC-2015 42.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 {'NW'}

显示其属性。的价值开始时间属性等于第一行时间。如果时间表是常规或不规则的,那么它总是有一个开始时间,除非它是空的。

tt.properties.
ans = TimetableProperties with properties: Description: " UserData:[]维度名称:{'时间''变量'}变量名:{'温度''风速''风向'}变量描述:{}变量单位:{}变量连续性:[]RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep: NaN CustomProperties:没有设置自定义属性。使用addprop和rmprop修改customproperties。

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

TT.Properties.StartTime = datetime ('2018-04-09'
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 =时间表(强度,'timestep',秒(0.01))
tt =5×1时间表时间强度________ _________ 0秒1000 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

显示其属性。这时间戳属性将时间步长存储为持续时间。

tt.properties.
描述:" UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Intensity'} variabledescription: {} 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

数据类型:期间|日历

可变元数据

变量名,指定为字符向量的单元格数组或字符串数组,其元素非空且不同。名称的数量必须等于变量的数量。

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

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

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

例子

使用默认变量名称创建时间表。然后使用该名称修改名称properties.variablenames.财产。

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3])
tt =3×3的时间表Time var1 var2 var3 ___________ ______________ ____ ____ 18-dec-2015 37.3 30.1 13.4 19-Dec-2015 39.1 30.03 6.5 20-DEC-2015 42.3 29.9
tt.properties.variablenames = {“临时”'压力''风速'}
tt =3×3的时间表时间温度压力风速  ___________ ____ ________ _________ 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

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

tt.temp.
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月20 - 12月- 2015 - 2015 39.1 30.03 6.5 42.3 7.3 30

变量描述,指定为字符向量的单元格数组或字符串数组。这个属性可以是一个空的单元格数组,这是默认值。如果数组不为空,则它必须包含与变量数量相同的元素。可以为没有描述的变量指定单个空字符向量或空字符串。

  • 使用时可变描述可见总结函数。

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

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);tt.properties.variablenames = {“临时”'压力''风速'};tt.properties.variabledescriptions = {'温度(外部)'......'hg'压力'......“传感器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';'2015-12-20'}),......[37.3; 39.1; 42.3],[30.1; 30.03; 29.9],[13.4; 6.5; 7.3]);tt.properties.variablenames = {“临时”'压力''风速'};tt.properties.varifeUldeUnits = {'度F''mm hg'“MPH”};摘要(TT)
rowtimes:时间:3x1 DateTime值:Min 18-Dec-2015中位数19-Dec-2015 Max 20-Dec-2015 Simestep 24:00:临时:3x1双倍物业:单位:度数:Min 37.3中位数39.1MAX 42.3压力:3x1双特性:单位:单位:MM HG值:MIN 29.9中位数30.03 MAX 30.1风速:3x1双倍特性:单位:MPH值:MIN 6.5中位数7.3 MAX 13.4

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

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

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

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

  • '步'- 使用先前值填充值。

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

如果你指定一个方法作为输入参数调整时间或者同步然后,该方法覆盖您指定的值VariableContinuity

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

例子

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

tt =时间表(DateTime({'2015-12-18';'2015-12-19';'2015-12-20'}),......[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{'n';'se';'nw'});tt.properties.variablenames = {“温度”'风速''风向'};tt.properties.variablecontinuity = {“连续”'事件''事件'};tt.properties.
ans = timetableproperties with属性:description:''''''''''''时间':{'时间'变量'} variablenames:{'purture''windspeed''winddirection'} variabledesions:{}变量:{} variableconity:[连续事件事件] Rowtims:[3x1 DateTime] starttime:18-Dec-2015 Samplere: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-20';'2015-12-21'}),......[37.3; 39.1; 42.3],[13.4; 6.5; 7.3],{'n';'se';'nw'});tt.properties.variablenames = {“温度”'风速''风向'}
tt =3×3的时间表时间温度风速风速___________ ___________________________________________________________________________13.4 {'n'} 20-DEC-2015 39.1 6.5 {'SE'21-DEC-2015 42.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 7.3 {'NW'}

要描述测量这些数据的仪器以及输出文件的名称,请使用自定义元数据使用addprop.函数。这仪器属性具有可变元数据,适用于变量TT.。这输出文件属性有表元数据。

TT = addprop (TT, {'仪器'“OutputFile”},{'多变的'“表”});tt.properties.
ans = TimetableProperties with properties: Description: " UserData:[]维度名称:{'时间''变量'}变量名:{'温度''风速''风向'}变量描述:{}变量单位:{}变量连续性:[]RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep:南Custom Properties (access using t.Properties.CustomProperties.): OutputFile: [] Instruments: []

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

tt.properties.customproperties.Instruments = [“温度计”“风速计”“风向标”];tt.properties.customproperties.Outputile =.'weatherredings.csv';tt.properties.
ans = TimetableProperties with properties: Description: " UserData:[]维度名称:{'时间''变量'}变量名:{'温度''风速''风向'}变量描述:{}变量单位:{}变量连续性:[]RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep:NaN自定义属性(使用t.Properties.CustomProperties.): OutputFile: ' weatherreads .csv'

删除输出文件物业TT.

TT = rmprop (TT,“OutputFile”);tt.properties.
ans = TimetableProperties with properties: Description: " UserData:[]维度名称:{'时间''变量'}变量名:{'温度''风速''风向'}变量描述:{}变量单位:{}变量连续性:[]RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep:南Custom Properties (access using t.Properties.CustomProperties.): Instruments: ["thermometer" "anemometer" "wind vane"]

例子

全部收缩

存储有关在时间表中不同时间测量的天气条件的数据。除了存储之外,时间表提供了与您指定的时间同步数据的功能。此外,您可以注释要描述您的工作和时间表的变量的时间表。

从工作空间变量创建时间表。中的值测量时间成为时间表的行时间。所有其他输入参数都成为时间表变量。使用此语法时,行时间向量和变量的名称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 =时间表(测量时间,临时,压力,风速)
tt =3×3的时间表测量时间临时压力风速_______________________________________18-dec-2015 08:03:05 37.3 30.1 13.4 18-DEC-2015 10:03:17 39.1 30.03 6.5 18-DEC-2015 12:03:13 42.3

使用每小时时间步长同步天气数据到常规时间。利用线性插值法调整数据以适应新时代。

tt2 = retime(tt,'小时''线性'
TT2 =6×3时间表测量时间临时压力风速__________________________________________________________________________________18-DEC-2015 08:00:00 13.577 18-DEC-2015 09:00:00 38.152 30.067 10.133 18-DEC-2015 10:00:00 39.051 30.032 69.051 30.032 69.051 30.032 6.6885 18-DEC 39.051 30.032 6.6885 18-DE-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。维度{1} ='InterpolateDimes'
TT2 =6×3时间表InterpolatedTimes Temp Currence Windspeed ___________________________________________________________________18-DEC-2015 08:00:00 13.577 18-DEC-2015 09:00:00 38.152 30.067 10.133 18-DEC-2015 10:00:00 39.051 30.032 69.051 30.032 69.051 30.032 6.6885 18-DE-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.
用户数据:[]维度名称:{'InterpolatedTimes' 'Variables'}变量名:{'Temp' '压力' 'WindSpeed'}变量描述:{}变量单位:{}变量连续性:[]RowTimes: [6x1 datetime] StartTime:18-Dec-2015 08:00:00 SampleRate: 2.7778e-04 TimeStep: 01:00:00 CustomProperties:未设置自定义属性。使用addprop和rmprop修改customproperties。

您可以使用DOT语法访问时间表的行时。此外,您可以使用点语法访问单个变量,或使用其第二维名称使用时间点中的所有数据。

从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

使用行时间向量的名称访问行时间。此名称也是时间表的第一个维度的名称。户外将行时间存储为DateTime向量。显示前三次。

户外.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

使用语法访问所有时间表数据作为矩阵户外。此语法使用时间表的第二维名称,等同于访问使用Crace Brace索引的所有内容,户外{:,:}。但是,矩阵不包括行时间,因为行次数是时间可变元数据,而不是变量。如果不能连接到矩阵的时间表数据,则提出错误消息。

户外
ans =51×349.0000 48.9000 51.5000 29.6100 48.7000 51.5000 29.6100 48.6000 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} ='数据';offoorth.data.
ans =51×349.0000 48.9000 51.5000 29.6100 48.7000 51.5000 29.6100 48.6000 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 = 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南人力资源

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

T =小时(1:3);Temp = (37.3; 39.1; 42.3);p = [29.4 29.6 30];tt =时间表(t',temp,p')
tt =3×2时间表时间临时var2 ____ ____ ____ 1小时37.3 29.4 2小时39.1 29.6 3 HR 42.3 30

使用100 Hz的采样率创建定期时间表。

强度= [100; 98.7; 95.2; 101.4; 99.1];tt =时间表(强度,'采样率',100)
tt =5×1时间表时间强度________ _________ 0秒1000 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

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

tt =时间表(强度,'采样率',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 =时间表(强度,'timestep',秒(0.01))
tt =5×1时间表时间强度________ _________ 0秒1000 0.01秒98.7 0.02秒95.2 0.03秒101.4 0.04秒99.1

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

tt =时间表(强度,'timestep',秒(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(“现在”)DateTime(2017,11,1:3)];Sz = [3];vartypes = {'双倍的''双倍的''细绳'};TT =时间表(“大小”、深圳、'variabletypes'varTypes,'rowtimes', T)
tt =4×3时间表时间Var1 Var2 Var3  ____________________ ____ ____ _________ 24 - 8月2020 19:55:43 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是0 0 <失踪> 03 - 11月- 2017就是0 0 <失踪>

要为变量指定名称,请使用'variablenames'名称-值对的论点。

varnames = {“温度”'风速''车站'};TT =时间表(“大小”、深圳、'variabletypes'varTypes,'rowtimes'T'variablenames',varnames)
tt =4×3时间表时间温度风速站  ____________________ ___________ _________ _________ 24 - 8月2020 19:55:43 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时间表时间温度风速站____________________ ___________ _________ _________ 24  -  8  -  2020 19点55分43秒0 0 <缺失> 01-NOV-2017 00:00:00 0 0 <缺失> 02-NOV-2017 00:00:00 48.2 13.33“S1”03-11-2017 00:00:00 0 <缺失>

可以在单元格数组中封装一行数据值。当从单元格数组中分配一行时,该分配将单元格数组转换为时间表行。

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

Sz = [3];vartypes = {'uint64''双倍的'“持续时间”};TT =时间表(“大小”、深圳、'variabletypes'varTypes,'采样率',1000,'开始时间'秒(15))
tt =4×3时间表time var1 var2 var3 __________ _____________ 15秒0 0 00:00:00 15.001秒0 0 00:00:00 15.002秒0 0 00:00:00 15.003秒0 0 00:00:00

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

TT(秒(15.002):)={50 1.37分钟(76)}
tt =4×3时间表time var1 var2 var3 __________ _____________ 15秒0 0 00:00:00 15.001秒0 0 00:00:00 15.002秒50 1.37 01:16:00 15.003秒0 0 00:00:00

指定变量的时间步骤和名称。

sz = [3 2];vartypes = {'双倍的''双倍的'};TT =时间表(“大小”、深圳、'variabletypes'varTypes,'timestep',秒(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',{'读书1'“Reading2”})
tt =5×2时间表时间读数1读数2 _____ _________ ________ 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日- 2019年5月,““30 - 2019年5月- - - - - -”})
tt =5×2时间表时间29-May-2019 30-May-2019 _____ ___________ ___________ 1秒98 120 2秒97.5 111 3秒97.9 119 4秒98.1 117 5秒97.9 116

要在名称不是有效标识符时使用点表示法,请包含圆括号和引号。

tt。(29日- 2019年5月,“
ans =5×198.0000 97.5000 97.9000 98.1000 97.9000

限制

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

    • 'rowtimes'

    • '采样率'

    • “大小”

    • '开始时间'

    • 'timestep'

    • 'variabletypes'

    • 'variablenames'

    为避免混淆可变输入,请勿使用双引号字符串(如“rowtimes”)。

提示

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

  • 在某些情况下,您可以调用时间表使用指定行时间之间的常规时间步长的语法时间表返回不规则的时间表。当使用日历单位指定时间步骤时,此结果发生了,并且存在引入不规则步骤的行时间。例如,如果您在2019年1月31日开始使用一个日历月的时间步骤创建时间表,那么对月份的时间不规则。

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

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

    行时间值

    时间步骤

    起始时间指定为每月29日、30日或31日。

    日历月或季度数量。

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

    日历年数。

    在从夏令时转为标准时间的一天中,发生在凌晨1点到2点之间的任何行时间(在行时间指定为遵守夏令时的datetime值时)。 日历日或月数。

    闰秒的任何行时间(当行时间指定为时区的日期时间值时utcleapseconds.时区)。对于Leap秒列表,请参阅leapseconds

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

兼容性的考虑

全部展开

R2019b行为改变

不推荐以R2018B开始

扩展功能

介绍在R2016B.