带有时间戳的行和不同类型的变量的时间表数组
时间表
是一种将时间与每一行关联起来的表类型。与表一样,时间表存储面向列的数据变量,只要具有相同的行数,它们就可以具有不同的数据类型和大小。此外,时间表还提供特定于时间的功能,以便在一个或多个时间表中对带有时间戳的数据进行对齐、合并和执行计算。
的行乘以一个时间表是datetime
或持续时间
值标记行。您可以按行时间和变量索引到时间表中。要编入时间表,请使用圆括号()
返回子表或花括号{}
提取内容。您可以使用名称引用变量和行次数的向量。有关索引的更多信息,请参见在时间表中选择时间和表格访问数据.
要创建时间表,可以使用readtimetable
函数,或者可以转换具有其他数据类型的变量。
转换:
数组,使用array2timetable
函数。
一个表,用table2timetable
函数。
一个时间序列,使用ts2timetable
函数。
或者,您可以使用时间表
下面描述的函数。从输入数组中创建一个时间表,或者为以后填写的变量预分配空间。要指定行时间,可以使用行时间的输入向量,也可以使用采样率或时间步长创建行时间。
TT =时间表(
根据输入数据变量创建时间表rowTimes
,var1,…,varN
)var1,…,varN
时间向量rowTimes
.只要数据变量具有相同的行数,它们就可以具有不同的大小和数据类型。rowTimes
必须是一个datetime
或持续时间
向量,行数相同。
TT =时间表(
指定var1,…,varN
“RowTimes”,rowTimes
)rowTimes
作为行乘以的来源TT
.使用此语法时,行名乘以向量TT
总是时间
,即使rowTimes
是具有不同名称的工作区变量。
TT =时间表(
使用抽样率var1,…,varN
“SampleRate”,Fs
)Fs
计算有规则间隔的行时间。Fs
是指定每秒采样次数(Hz)的正数值标量。第一行时间是零秒。
TT =时间表(
使用时间步长var1,…,varN
“步伐”,dt
)dt
计算有规则间隔的行时间。dt
是一个持续时间
或calendarDuration
值,该值指定连续行间隔的时间长度。第一行时间是零秒。
var1,…,varN
- - - - - -输入变量输入变量,指定为具有相同行数的数组。输入变量可以具有不同的大小和不同的数据类型,只要它们具有相同的行数。
常见的输入变量有数字数组、逻辑数组、字符串数组、结构数组和单元格数组。
输入变量也可以是数组对象。这样的数组必须支持表单的索引金宝appvar (indexN index1…)
,在那里index1
是一个数字或逻辑向量,对应于该变量的行var
.此外,数组必须同时实现avertcat
方法和大小
方法昏暗的
论点。
rowTimes
- - - - - -与成行时间表相关的时间datetime
向量|持续时间
向量与时间表的行相关联的时间,指定为datetime
向量或持续时间
向量。每个时间标记输出时间表中的一行,TT
.时间值rowTimes
不需要是唯一的、有序的或常规的。
深圳
- - - - - -预先分配的时间表的大小预先分配的时间表的大小,指定为两个元素的数字向量。第一个元素深圳
指定行数,第二个元素指定时间表变量的数量。
varTypes
- - - - - -预分配变量的数据类型预先分配的变量的数据类型,指定为字符向量的单元格数组或字符串数组。指定的类型的数量varTypes
必须等于?的第二个元素指定的变量数深圳
.
varTypes
可以包含任何数据类型的名称,包括表中显示的名称。
数据类型名称 |
每个元素的初始值 |
---|---|
|
双或单精度 |
|
双或单精度 |
|
带符号的8、16、32或64位整数 |
|
无符号8-,16-,32-或64位整数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
没有字段的标量结构 |
|
无变量表 |
|
没有变量的时间表 |
对于任何其他数据类型,初始值是该类型或类用来“填充”数组中未赋值元素的值。
如果您指定“字符”
作为一种数据类型时间表
将相应的变量预分配为字符向量的单元格数组,而不是字符数组。最佳实践是避免创建字符数组的表或时间表变量。当处理表或时间表中的文本数据时,考虑使用字符串数组或类别数组。
Fs
- - - - - -采样率采样率,指定为正数值标量。Fs
每秒采样次数(Hz)。
dt
- - - - - -时间步长持续时间
标量|calendarDuration
标量时间步长,指定为a持续时间
标量或calendarDuration
标量。
如果您指定dt
作为一个calendarDuration
值,并指定“开始时间”
的值“开始时间”
必须是一个datetime
标量。
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
TT =时间表(rowTimes T W, VariableNames,{“温度”、“风速”})
从输入数组创建时间表T
和W
,并命名相应的时间表变量温度
和风速
.
“VariableNames”
- - - - - -变量名变量名,指定为字符向量的单元格数组或元素为非空且不同的字符串数组。
数组中的名称数量必须等于时间表变量的数量。
的时间表
函数还将变量名存储在VariableNames
时间表的属性。
变量名可以有任何Unicode®字符,包括空格和非ascii字符。
“DimensionNames”
- - - - - -维度名称自从R2021a
维度名称,指定为字符向量的双元素单元数组或元素为非空且不同的双元素字符串数组。
的时间表
函数中还存储维度名称DimensionNames
时间表的属性。
维度名称可以有任何Unicode字符,包括空格和非ascii字符。
在R2021a之前,您只能通过设置DimensionNames
财产。
“开始时间”
- - - - - -开始时间datetime
标量|持续时间
标量开始时间,指定为datetime
标量或持续时间
标量。开始时间也是时间表的第一行的行时间。
您可以指定“开始时间”
只有当您还指定“SampleRate”
或“步伐”
名称-值对的论点。
如果开始时间为adatetime
值,然后行乘以TT
是datetime
值。
如果开始时间为a持续时间
值,则行时间为持续时间。
如果时间步长dt
是一个calendarDuration
值,则开始时间必须为datetime
价值。
访问时间表元数据属性
时间表包含描述时间表、它的行时间和它的变量的元数据属性。使用语法访问这些属性
,在那里timetableName
. properties。PropertyName
属性的名称。例如,您可以访问时间表中变量的名称PropertyName
TT
通过TT.Properties.VariableNames
财产。
您可以使用该语法返回元数据属性的摘要
.timetableName
. properties
的时间表提供元数据访问属性
属性,因为您可以使用点语法直接访问时间表数据。例如,if时刻表TT
有一个名为Var1
,则可以使用语法访问变量中的值TT。Var1
.
DimensionNames
- - - - - -维度名称{“时间”、“变量”}
(默认)|字符向量的二元单元数组|双元素字符串数组维度名称,指定为字符向量的双元素单元数组或双元素字符串数组,其元素非空且不同。
维度名称可以有任何Unicode字符,包括空格和非ascii字符。
如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。
您可以使用二维名称访问时间表数据。
如果您使用点语法和第一个维度名称,那么您可以以向量的形式访问行次数。
如果您使用点语法和第二个维度名称,那么来自所有变量的数据将被连接在一个数组中,就像您使用索引到时间表中一样{:,:}
语法。
创建时间表并显示其维度名称。您可以使用带有点语法的维度名称访问行时间和数据。
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 datetime18 - 12月- 2015年12月19日- 12月- 2015 20 - - 2015
使用第二个维度名称访问数据。该语法等价于TT{:、:}
.
TT。变量
ans =3×337.3000 30.1000 13.4000 39.1000 30.300 6.5000 42.3000 29.9000 7.3000
属性修改其维度的名称属性。DimensionNames
财产。更改维度名称后,可以使用语法访问行时间和数据TT。日期
和TT。WeatherData
分别。
TT.Properties.DimensionNames = {“日期”,“WeatherData”};TT。属性
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: 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”;“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。属性
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。
RowTimes
- - - - - -行乘以datetime
向量|持续时间
向量行次数,指定为datetime
向量或持续时间
向量。
每一行的时间表都必须有一行的时间。
一个时间表可以有重复的、无序的或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的时间表时间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
日期= datetime (2017, 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 - 1月- 2017年02 - 1月- 2017年03 - 1月- 2017
开始时间
- - - - - -行时间的开始时间datetime
标量|持续时间
标量行时间的开始时间,指定为datetime
标量或持续时间
标量。起始时间与时间表第一行的行时间相同,且数据类型相同。
如果开始时间为adatetime
值,然后行乘以TT
是datetime
值。
如果开始时间为a持续时间
值,则行时间为持续时间。
如果时间步长是acalendarDuration
值,则开始时间必须为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”;“本身”;“西北”});TT.Properties.VariableNames = {“温度”,“风速”,“WindDirection”}
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。属性
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-04-09”)
TT =3×3的时间表时间温度WindDirection风速 ___________ ___________ _________ _____________ 09 - 4月- 2018 37.3 13.4 {' N '} 11 - 4月- 2018 39.1 - 6.5 {SE的}12 - 4月- 2018年42.3 - 7.3{“西北”}
SampleRate
- - - - - -采样率采样率,指定为正数值标量。采样率是指每秒的采样次数(Hz)。
如果行时间不规律,或者时间表为空,则抽样率为南
.
步伐
- - - - - -时间步长持续时间
标量|calendarDuration
标量时间步长,指定为a持续时间
标量或calendarDuration
标量。
如果你指定时间步长为acalendarDuration
值(例如日历月),则行时间向量必须为datetime
向量。
如果你指定时间步长为a持续时间
值(例如,秒),则行乘向量可以是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。属性
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
VariableNames
- - - - - -变量名变量名,指定为字符向量的单元格数组或字符串数组,其元素非空且不同。名称的数量必须等于变量的数量。
变量名可以有任何Unicode字符,包括空格和非ascii字符。
变量名在查看时间表和使用总结
函数。此外,您可以在圆括号、花括号或点索引中使用变量名来访问表数据。
如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。
创建一个带有默认变量名的时间表。然后使用属性。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的时间表时间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月20 - 12月- 2015 - 2015 39.1 30.03 6.5 42.3 29.9 7.3
显示和修改变量的基本方法是使用点语法通过名称访问变量。
TT。Temp
ans =3×137.3000 39.1000 42.3000
TT.Pressure (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
VariableDescriptions
- - - - - -变量描述{}
(默认)|字符向量的单元格数组|字符串数组变量描述,指定为字符向量的单元格数组或字符串数组。此属性可以是空单元格数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。可以为没有描述的变量指定单独的空字符向量或空字符串。
的变量描述是可见的总结
函数。
如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。
创建一个时间表。修改变量名称和描述。显示结果的摘要。
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: Time: 3x1 datetime值:Min 18-Dec-2015中位数19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00变量:Temp: 3x1 double属性:描述:温度(外部)值:Min 37.3中位数39.1 Max 42.3 Pressure: 3x1 double属性:描述:Hg中的压力值:Min 29.9中位数30.03 Max 30.13x1 double属性:描述:123传感器风速值:最小6.5中位数7.3最大13.4
VariableUnits
- - - - - -变量的单位{}
(默认)|字符向量的单元格数组|字符串数组可变单元,指定为字符向量的单元格数组或字符串数组。此属性可以是空单元格数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。可以为没有单元的变量指定单独的空字符向量或空字符串。
变量单位在使用时是可见的总结
函数。
如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。
创建一个时间表。修改变量名和单元。显示结果的摘要。
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.VariableUnits = {“度”,毫米汞柱的,“英里”};总结(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
VariableContinuity
- - - - - -连续或离散变量的状态[]
(默认)|字符向量的单元格数组|字符串数组连续或离散变量的状态,指定为字符向量的单元格数组或字符串数组。这个属性可以是一个空数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。每个元素可以是任意一个“设置”
,“连续”
,“步骤”
,或“事件”
.
中的值VariableContinuity
影响如何调整时间
或同步
功能的工作。如果您指定VariableContinuity
并调用调整时间
或同步
,则不需要指定方法。相反,调整时间
和同步
使用以下默认方法填写输出时间表变量:
“设置”
-使用该类型的缺失数据指示器填充值(例如南
对于数值型变量)。
“连续”
-使用线性插值填充值。
“步骤”
—使用以前的值填写。
“事件”
-使用该类型的缺失数据指示器填充值(例如南
对于数值型变量)。
如果你指定一个方法作为输入参数调整时间
或同步
,则该方法将重写中指定的值VariableContinuity
.
有关使用的更多信息VariableContinuity
财产,看到使用不同的方法重新计时和同步时间表变量.
创建一个时间表。指定一个matlab.tabular.Continuity
每个变量的值。
TT =时间表(datetime ({“2015-12-18”;“2015-12-19”;“2015-12-20”}),...(37.3; 39.1; 42.3), (13.4; 6.5; 7.3) {“N”;“本身”;“西北”});TT.Properties.VariableNames = {“温度”,“风速”,“WindDirection”};TT.Properties.VariableContinuity = {“连续”,“事件”,“事件”};TT。属性
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
对象是可添加到时间表中的定制元数据的容器。默认情况下,CustomProperties
为零的属性。添加到的每个属性CustomProperties
可以包含表元数据或变量元数据。如果属性包含变量元数据,那么它的值必须是一个数组,数组中的元素数量必须等于时间表变量的数量。
注意:您可以添加或删除只有属性用于自定义元数据addprop
和rmprop
.控件的属性不能添加或删除
对象。timetableName
. properties
创建一个包含天气数据的时间表。
TT =时间表(datetime ({“2015-12-18”;“2015-12-20”;“2015-12-21”}),...(37.3; 39.1; 42.3), (13.4; 6.5; 7.3) {“N”;“本身”;“西北”});TT.Properties.VariableNames = {“温度”,“风速”,“WindDirection”}
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
.的OutputFile
属性具有表元数据。
TT = addprop (TT, {“工具”,“OutputFile”},{“变量”,“表”});TT。属性
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自定义属性(使用t.Properties.CustomProperties.): OutputFile: [] Instruments: []
使用点语法为定制的元数据赋值。将文本值数组分配给自定义元数据时,最佳实践是使用字符串数组,而不是字符向量的单元格数组。如果CustomProperties
是字符向量的单元格数组,则没有机制阻止您以后将非文本值作为单元格数组的元素分配。
TT.Properties.CustomProperties.Instruments = [“温度计”,“风速计”,“风向标”];TT.Properties.CustomProperties.OutputFile =“weatherReadings.csv”;TT。属性
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自定义属性(使用t.Properties.CustomProperties.): OutputFile: ' weatherreads .csv' Instruments:["温度计" "风速表" "风向标"]
删除OutputFile
的财产TT
.
TT = rmprop (TT,“OutputFile”);TT。属性
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自定义属性(使用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年18 - 12月- 2015 10:03:17 08:03:05 37.3 30.1 13.4 39.1 30.03 6.5 18 - 12月- 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。属性
.
TT2.Properties。描述="天气数据,插入到每小时的常规时间";TT2。属性
UserData: [] DimensionNames: {'InterpolatedTimes' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowTimes: [6x1 datetime] StartTime:18- 12 -2015 08:00:00 SampleRate: 2.7778e-04 TimeStep: 01:00:00 CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。
您可以使用点语法来访问时间表的行时间。此外,您还可以使用点语法访问单个变量,或者使用时间表的第二个维度名称访问时间表中的所有数据。
从mat -文件加载一个时间表在户外
.显示前三行。
负载在户外户外(1:3,:)
ans =3×3的时间表时间湿度TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 51.3 - 29.61 00:00:24 49 2015-11-15 01:30:24 03:00:24 48.9 51.5 29.61 48.9 51.5 29.61 2015-11-15
使用行乘以向量的名称访问行乘以。这个名称也是时间表的第一个维度的名称。在户外
将行次数存储为datetime
向量。显示前三次。
outdoors.Time (1:3)
ans =3 x1 datetime2015-11-15 00:00:24 2015-11-15 01:30:24 2015-11-15 03:00:24
使用变量名将温度作为数字向量访问。
outdoors.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.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.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”MeasurementTime)
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南人力资源
创建一个时间表。如果有不是工作区变量的输入参数,则时间表
函数将默认名称赋给相应的行乘以向量和时间表的变量。例如,如果您将一些输入参数转置为列向量,那么这些输入参数就不是工作区变量。默认名称为时间
对于行乘以向量VarN
为N
th时间表变量。
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秒100 30.01秒98.7 30.02秒95.2 30.03秒101.4 30.04秒99.1
创建一个固定的时间表,使用0.01秒的时间步长。您必须指定时间步长为持续时间
或calendarDuration
价值。
强度= [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秒100 30.01秒98.7 30.02秒95.2 30.03秒101.4 30.04秒99.1
通过指定表的大小和变量的数据类型来预分配表。的时间表
函数使用适合于您指定的数据类型的默认值填充变量。它还为变量提供默认名称。
T = [datetime (“现在”datetime(2017、11、1:3)];Sz = [4 3];varTypes = {“双”,“双”,“字符串”};TT =时间表(“大小”、深圳、“VariableTypes”varTypes,“RowTimes”, T)
TT =4×3的时间表时间Var1 Var2 Var3 ____________________ ____ ____ _________ 2021年- 2月23日14:41:28 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的时间表时间温度风速站 ____________________ ___________ _________ _________ 2021年- 2月23日14:41:28 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是0 0 <失踪> 03 - 11月- 2017就是0 0 <失踪>
添加一行数据到TT
.当代码一次添加一行或几行数据时,预分配可能是一种有用的技术。您可以填充已经有空间存放数据的表变量,而不是每次添加一行时都增加时间表。您可以在单元格数组中封装一行数据值,并将其分配给时间表的一行。
按时间下标到一行,并分配一行数据值。您还可以通过数字下标到行和变量中。然而,按时间订阅时间表是一种有用的技术。
TT (datetime(2) 2017年11日:)= {48.2,13.33,“S1”}
TT =4×3的时间表时间温度风速站 ____________________ ___________ _________ _________ 2021年- 2月23日14:41:28 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是48.2 - 13.33“S1”03 - 11月- 2017就是0 0 <失踪>
可以将数据值行封装在单元格数组中。当您从单元格数组分配一行时,该分配将单元格数组转换为时间表行。
指定1000hz的采样率并预先分配一个时间表。您还可以指定开始时间。
Sz = [4 3];varTypes = {“uint64”,“双”,“持续时间”};TT =时间表(“大小”、深圳、“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 sec 00 00:00 15.001 sec 00 00:00 15.002 sec 50 1.37 01:16:00 15.003 sec 00 00:00
指定时间步长和变量名称。
Sz = [3 2];varTypes = {“双”,“双”};TT =时间表(“大小”、深圳、“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
创建时间表并指定时间表变量的名称。行乘以向量是a持续时间
矢量,单位是秒。
时间=秒(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日- 2019年5月,“,“30 - 2019年5月- - - - - -”})
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日- 2019年5月,“)
ans =5×198.0000 97.5000 97.9000 98.1000 97.9000
对这些输入名称使用单引号:
“DimensionNames”
(因为R2021a)
“RowTimes”
“SampleRate”
“大小”
“开始时间”
“步伐”
“VariableTypes”
“VariableNames”
为避免与变量输入混淆,不要使用双引号字符串标量(例如“RowTimes”
)。
有关接受或返回时间表的函数列表,请参见时间表.
在某些情况下,你可以打电话时间表
使用指定行时间间隔的常规时间步长的语法时间表
返回一个不规则的时间表。当您使用日历时间单位指定时间步长,并且存在引入不规则步骤的行时间时,就会出现此结果。例如,如果您创建的时间表的时间步长为一个日历月,从2019年1月31日开始,那么它与月份的关系是不规则的。
少许= datetime (2019, 31);tstep = calmonths (1);TT =时间表(“大小”(3 - 1),“VariableTypes”, {“双”},...“步伐”tstep,“开始时间”少许)
TT = 3×1时间表时间Var1 ___________ ____ 31- 1- 2019 0 28- 2 -2019 0 31- 3 -2019 0
在其他情况下,由于从夏令时(DST)转换到闰秒的行时间,也会出现异常。该表指定可能意外生成不规则时间表的行时间值和时间步骤。
行时间价值 |
时间步长 |
---|---|
开始时间指定为每月的29日、30日或31日。 |
日历月或季度的数目。 |
开始时间指定为2月29日。 |
历年数。 |
在从夏令时转换为标准时间的一天中,发生在凌晨1点到凌晨2点之间的任何行时间(当行时间指定为datetime 时区为夏令时的值)。 |
日历上的天数或月份。 |
任何一个闰秒的行时间(当行时间被指定为 |
在任何日历单位(天、周、月、季度或年)中指定的时间步长。 |
行为在R2019b中改变
不修改带有前导或尾随空格字符的表和时间表变量名。
在以前的版本中,当使用“VariableNames”
的名称-值对参数,或将它们赋给VariableNames
财产。
要手动删除这些字符,请先使用strtrim
函数,然后将它们作为变量名分配给表或时间表。
“SamplingRate”
将被删除从R2021a开始警告
的“SamplingRate”
名称-值参数将在未来的版本中被删除。使用“SampleRate”
代替。相应的时间表属性也被命名SampleRate
.
对于向后兼容性,您仍然可以指定“SamplingRate”
作为name-value参数的名称。但是,该值被分配给SampleRate
财产。
使用注意事项及限制:
的“SampleRate”
,“步伐”
,“开始时间”
不支持名称-值对。金宝app
创建.有几种方法可以制定一个高时间表:
指定OutputType
属性的基础数据存储“时间表”
因此,数据存储上的读取操作将返回时间表。然后,将数据存储转换为一个高数组高(ds)
.
默认行为是使用第一个datetime
或持续时间
变量的行时间数据。要指定自己的行时间,请使用RowTimes
数据存储属性指定高datetime
或高持续时间
行向量乘以。
使用table2timetable
.
使用array2timetable
.
方法从高表中的变量手动构建高时间表时间表
构造函数。
ds = tabularTextDatastore(“数据/文件夹/ path.csv”);tt =高(ds);TT =时间表(rowTimes, TT。Var1, tt。Var2,…)
使用语法将内存中的时间表转换为高时间表TT =高(TT)
.
金宝app支持功能.的扩展功能在每个参考页的底部的部分指出该函数是否支持高数组,如果支持,在使用高时间表时是否有任何限制。金宝app
有关更多信息,请参见高大的数组.
使用注意事项及限制:
从R2020a开始,您可以在MATLAB中使用时间表®用于代码生成的代码。有关更多信息,请参见用于时间表的代码生成(MATLAB编码器)和代码生成的时间表限制(MATLAB编码器).
使用注意事项及限制:
只支持以下语法:金宝app
TT =时间表(
rowTimes
,var1,…,varN
)
TT =时间表(
var1,…,varN
“RowTimes”,rowTimes
)
TT =时间表(___,
“VariableNames”
,{name1,…,”以“}
)
所有的数据变量必须是分布的。
有关更多信息,请参见使用分布式数组运行MATLAB函数(并行计算工具箱).
addprop
|array2timetable
|rmprop
|总结
|表格
|table2timetable
|timeseries
|timetable2table
|ts2timetable
|场上
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。