带有时间戳的行和不同类型的变量的时间表数组
时间表
是一种将时间与每一行关联起来的表类型。与表一样,时间表存储面向列的数据变量,只要具有相同的行数,它们就可以具有不同的数据类型和大小。此外,时间表还提供特定于时间的功能,以便在一个或多个时间表中对带有时间戳的数据进行对齐、合并和执行计算。
的行时间一个时间表是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
.此外,该阵列必须实现一个vertcat
方法和大小
方法用暗淡
论点。
rowTimes
- - - - - -与成行时间表相关的时间datetime
向量|期间
向量与时间表行相关的时间,指定为adatetime
向量或期间
向量。每个时间标记输出时间表中的一行,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
属性修改其维度的名称properties.dimensionnames.
财产。更改了维度名称,您可以使用语法访问行时间和数据TT。日期
和TT。WeatherData
分别。
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: 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.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。
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,1:3);tt.properties.rowtiimes =日期
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
标量|期间
标量行时间的开始时间,指定为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 = {“温度”,“风速”,'风向'}
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-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.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
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
变量单位
- - - - - -可变单位{}
(默认)|字符向量的单元格数组|字符串数组可变单元,指定为字符向量的单元格数组或字符串数组。此属性可以是空单元格数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。可以为没有单元的变量指定单独的空字符向量或空字符串。
变量单位在使用时是可见的总结
函数。
如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。
创建一个时间表。修改变量名和单元。显示结果的摘要。
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 = {“温度”,“风速”,'风向'};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
对象是可添加到时间表中的定制元数据的容器。默认情况下,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 = {“温度”,“风速”,'风向'}
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 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.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自定义属性(使用t.Properties.CustomProperties.): OutputFile: ' weatherreads .csv' Instruments:["温度计" "风速表" "风向标"]
删除输出文件
的财产TT
.
TT = rmprop (TT,“OutputFile”);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:南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 =重新定时(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 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。属性
.
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。
您可以使用DOT语法访问时间表的行时。此外,您可以使用点语法访问单个变量,或使用其第二维名称使用时间点中的所有数据。
从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 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} ='数据';在户外。数据
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'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',temp,p')
TT =3×2时间表时间温度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的时间表Time var1 var2 var3 _____________________________________ 23-Feb-2021 14:41:28 0 0 <缺失> 01-110-2017 00:00:00 0 <缺失> 02-110-2017 00:00:00 0 0<缺失> 03-NOV-2017 00:00:00 0 0 <缺失>
要指定变量的名称,请使用“VariableNames”
名称-值对的论点。
varNames = {“温度”,“风速”,“站”};TT =时间表(“大小”、深圳、“VariableTypes”varTypes,'RowTimes'T“VariableNames”,varnames)
TT =4×3的时间表时间温度风速站____________________ ___________ _________ _________ 23-FEB-2021十四时41分28秒0 0 <缺失> 01-NOV-2017 00:00:00 0 0 <缺失> 02-NOV-2017 00:00:00 0 0<缺失> 03-NOV-2017 00:00:00 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的时间表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,“步伐”秒(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('data / folder / 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国家网站未优化您的位置。