时间表
带有时间戳的行和不同类型的变量的时间表数组
描述
时间表
将时间与每行关联的表类型。与表一样,时间表存储面向列的数据变量,这些变量可以具有不同的数据类型和大小,只要它们具有相同的行数。此外,时间表还提供了特定于时间的函数,以便对一个或多个时间表中的时间戳数据进行对齐、组合和计算。
的行乘以的时间表datetime
或持续时间
标记行的值。可以按行时间和变量将索引纳入时间表。要将索引纳入时间表,请使用圆括号()
返回子表或花括号{}
来提取内容。可以使用名称引用变量和行时间向量。有关索引的更多信息,请参见在时间表中选择时间而且访问表中的数据.
创建
方法将数据从文件读入表中,以创建时间表readtimetable
函数,也可以转换具有其他数据类型的变量。
转换:
数组时,使用
array2timetable
函数。一个表,使用
table2timetable
函数。一个
timeseries
对象时,使用timeseries2timetable
函数。
金宝app®用户可以从金宝appSimulink.SimulationData.Dataset
对象,使用extractTimetable
(金宝app模型)函数。
或者,您可以使用时间表
函数描述如下。根据输入数组创建时间表,或为稍后填充的变量预分配空间。要指定行时间,可以使用行时间的输入向量,也可以使用采样率或时间步长创建行时间。
语法
描述
组合现有变量
时间表(
根据输入数据变量创建时间表rowTimes
,var1,…,varN
)var1,…,varN
还有时间向量rowTimes
.数据变量可以具有不同的大小和数据类型,只要它们具有相同的行数。rowTimes
一定是datetime
或持续时间
向量,也是行数相同的。
时间表(
指定var1,…,varN
“RowTimes”,rowTimes
)rowTimes
作为源的行次数TT
.使用此语法时,行名乘以向量TT
总是时间
即使当rowTimes
是具有不同名称的工作区变量。
时间表(
使用抽样率var1,…,varN
“SampleRate”,Fs
)Fs
计算有规律间隔的行时间。Fs
是一个正的数字标量,指定每秒采样的数量(Hz)。第一行时间是0秒。
时间表(
使用时间步长var1,…,varN
“步伐”,dt
)dt
计算有规律间隔的行时间。dt
是一个持续时间
或calendarDuration
值,该值指定连续行次数之间的时间长度。第一行时间是0秒。
Preallocate空间
输入参数
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,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:TT =时间表(rowTimes,T,W,'VariableNames',{'温度','风速'})
从输入数组创建时间表T
而且W
,并命名相应的时间表变量温度
而且风速
.
VariableNames
- - - - - -变量名
字符向量的单元格数组|字符串数组
变量名,指定为包含字符向量的单元格数组或元素为非空且不同的字符串数组。
数组中名称的数量必须等于时间表变量的数量。
的
时间表
函数中也存储变量名VariableNames
时间表的属性。变量名可以有任何Unicode®字符,包括空格和非ascii字符。
DimensionNames
- - - - - -维度名称
字符向量的两元单元数组|二元字符串数组
自从R2021a
维度名称,指定为字符向量的两元素单元格数组或元素非空且不同的两元素字符串数组。
的
时间表
函数中也存储维度名称DimensionNames
时间表的属性。维度名称可以有任何Unicode字符,包括空格和非ascii字符。
在R2021a之前,只能通过设置DimensionNames
财产。
开始时间
- - - - - -开始时间
datetime
标量|持续时间
标量
开始时间,指定为adatetime
标量或持续时间
标量。开始时间也是时间表第一行的行时间。
你可以指定“开始时间”
仅当您还指定“SampleRate”
或“步伐”
名称-值对参数。
如果开始时间为a
datetime
的行次数TT
是datetime
值。如果开始时间为a
持续时间
值,那么行时间就是持续时间。如果时间步长
dt
是一个calendarDuration
值时,则开始时间必须为adatetime
价值。
属性
访问时间表元数据属性
时间表包含描述时间表、行时间及其变量的元数据属性。使用语法访问这些属性
,在那里timetableName
. properties。PropertyName
属性的名称。例如,您可以访问时间表中变量的名称PropertyName
TT
通过TT.Properties.VariableNames
财产。
您可以使用该语法返回元数据属性的摘要
.timetableName
. properties
方法提供元数据访问属性
属性,因为可以直接使用点语法访问时间表数据。例如,如果时间表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 datetime2015年12月19日2015年12月20日
使用第二个维度名称访问数据。这个语法等价于TT{:、:}
.
TT。变量
ans =3×337.3000 30.1000 13.4000 39.1000 30.0300 6.5000 42.3000 29.9000 7.3000
属性修改其维度的名称属性。DimensionNames
财产。更改维度名称后,您可以使用语法访问行时间和数据TT。日期
而且TT。WeatherData
分别。
TT.Properties.DimensionNames = {“日期”,“WeatherData”};TT。属性
ans = timeableproperties with properties: Description: " UserData: [] DimensionNames: {'Date' 'WeatherData'} VariableNames: {'Var1' 'Var2' 'Var3'} variabledescription: {} VariableUnits: {} variableccontinuity: [] RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep: 1d 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 datetime值:Min 18- December -2015中位数19- December -2015 Max 20- December 2015 TimeStep 24:00:00变量:Temp: 3x1 double值:Min 37.3中位数39.1 Max 42.3压力:3x1 double值:Min 29.9中位数30.03 Max 30.1风速:3x1 double值: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 =华氏度2摄氏度;TT。属性
ans = timeableproperties with properties: Description: " UserData: @(x)(5.0/9.0).*(x-32) DimensionNames: {'Time' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d CustomProperties:无自定义属性设置。使用addprop和rmprop修改CustomProperties。
行次数元数据
RowTimes
- - - - - -行乘以
datetime
向量|持续时间
向量
行次数,指定为adatetime
向量或持续时间
向量。
每一行的时间表都必须有一排时间。
时间表可以有重复的、无序的行时间,或者
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.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 datetime2017年1月1日-2017年1月3日-2017年1月3日
开始时间
- - - - - -行次数的开始时间
datetime
标量|持续时间
标量
行次数的开始时间,指定为adatetime
标量或持续时间
标量。开始时间与时间表第一行的行时间相等,且数据类型相同。
如果开始时间为a
datetime
的行次数TT
是datetime
值。如果开始时间为a
持续时间
值,那么行时间就是持续时间。如果时间步长是a
calendarDuration
值时,则开始时间必须为adatetime
价值。
如果时间表为空,则开始时间为南
.
例子
制定时间表。在这个时间表中,连续行之间的时间步长是不一样的,所以时间表是不规则的。
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 = timeableproperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep: NaN CustomProperties:无自定义属性设置。使用addprop和rmprop修改CustomProperties。
修改开始时间
财产。注意,所有的行时间都有新值。对于每一行时间,值的变化等于第一行时间的原始值与新的开始时间之间的差值。
TT.Properties.StartTime =日期时间(“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
标量。
如果指定时间步长为
calendarDuration
值(例如,日历月份),则行时间的向量必须为adatetime
向量。如果指定时间步长为
持续时间
值(例如秒),则行乘以的向量可以是adatetime
或持续时间
向量。
如果行时间不规则,或者时间表为空,则时间步长为南
.
例子
制定一个有规律的时间表。在这个时间表中,行时间是使用相同的时间步长创建的持续时间。
强度= [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 = timeableproperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Intensity'} variabledescription: {} VariableUnits: {} variableccontinuency: [] RowTimes: [5x1 duration] StartTime: 0秒SampleRate: 100 TimeStep: 0.01秒CustomProperties:无自定义属性设置。使用addprop和rmprop修改CustomProperties。
修改步伐
财产。开始时间是相同的,但所有其他行时间是不同的,因为时间步长更大。然而,变量强度
保持不变。
TT.Properties.TimeStep = seconds(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 .压力(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 . variabledescription = {的温度(外部),...“以汞为单位的压力”,...“传感器123的风速”};总结(TT)
RowTimes: Time: 3x1 datetime值:Min 18-Dec-2015 Median 19-Dec-2015 Max 20- dec 2015 TimeStep 24:00:00变量:Temp: 3x1 double属性:描述:Temperature (external)值:Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double属性:描述:Pressure in Hg值:Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double属性:描述:风速在传感器123值:Min 6.5 Median 7.3 Max 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)
RowTimes: Time: 3x1 datetime值:Min 18-Dec-2015 Median 19-Dec-2015 Max 20- dec 2015 TimeStep 24:00:00变量:Temp: 3x1 double属性:单位:degrees F值:Min 37.3 Median 39.1 Max 42.3压力:3x1 double属性:单位:mm Hg值:Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double属性:单位:mph值:Min 6.5 Median 7.3 Max 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 . variableccontinuity = {“连续”,“事件”,“事件”};TT。属性
ans = timeableproperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} variabledescription: {} VariableUnits: {} variableccontinucontinuations:[连续事件事件]RowTimes: [3x1 datetime] StartTime: 18- 12 -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 = timeableproperties with properties: Description: " UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowTimes: [3x1 datetime] StartTime: 18- 12 -2015 SampleRate: NaN TimeStep: NaN自定义属性(使用t.Properties.CustomProperties.): OutputFile: [] Instruments: []
使用点语法为自定义元数据赋值。将文本值数组分配给自定义元数据时,最佳实践是使用字符串数组,而不是字符向量的单元格数组。的属性CustomProperties
是字符向量的单元格数组,则没有机制阻止您以后将非文本值分配为单元格数组的元素。
TT.Properties.CustomProperties.Instruments = [“温度计”,“风速计”,“风向标”];TT.Properties.CustomProperties.OutputFile =“weatherReadings.csv”;TT。属性
ans = timeableproperties带属性:描述:" UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN自定义属性(访问使用t.Properties.CustomProperties.): OutputFile: ' weatherings .csv'仪器:["温度计" "风速计" "风向标"]
删除OutputFile
的财产TT
.
TT = rmprop(TT,“OutputFile”);TT。属性
ans = timeableproperties with properties:描述:" UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN自定义属性(访问使用t.Properties.CustomProperties.):仪器:["温度计" "风速表" "风向标"]
例子
存储和同步时间表中的相关数据变量
在时间表中存储有关在不同时间测量的天气状况的数据。除了存储之外,时间表还提供了将数据与指定的时间同步的功能。此外,您可以注释时间表,以描述您的工作和时间表的变量。
根据工作空间变量创建时间表。中的值MeasurementTime
成为时间表的排次。所有其他输入参数都成为时间表变量。使用此语法时,行的名称乘以向量和的变量TT
是对应的输入参数的名称。
测量时间=日期时间({“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的时间表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 = retime(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。属性
ans = timeableproperties with properties: Description: '天气数据,插值到规则的每小时时间' UserData: [] DimensionNames: {'InterpolatedTimes' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] 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
使用行时间向量的名称访问行时间。这个名称也是时间表的第一个维度的名称。在户外
将行时间存储为adatetime
向量。显示前三次。
outdoors.Time (1:3)
ans =3 x1 datetime2015-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.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.6100 49.1000 51.5000 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.6100 49.1000 51.5000 29.6100 49.1000 51.5000 29.6100
指定时间向量
方法创建时间表“RowTimes”
名称-值对参数。注意行名乘以向量TT
是时间
,而不是MeasurementTime
.使用此语法时,行乘以向量的名称总是时间
.
测量时间=日期时间({“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];precp = [0.1;0.9;0.0];StormDuration = [hours(1);hours(2);NaN];TT =时间表(温度,压力,精确,风暴持续时间,“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
时间表变量。
T =小时(1:3);Temp = [37.3;39.1;42.3];P = [29.4 29.6 30];TT =时间表(T',Temp,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 = {“双”,“双”,“字符串”};时间表(“大小”、深圳、“VariableTypes”varTypes,“RowTimes”, T)
TT =4×3的时间表时间Var1 Var2 Var3 ____________________ ____ ____ _________ 26日- 11月- 2022 06:58:42 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是0 0 <失踪> 03 - 11月- 2017就是0 0 <失踪>
要指定变量的名称,请使用“VariableNames”
名称-值对参数。
varNames = {“温度”,“风速”,“站”};时间表(“大小”、深圳、“VariableTypes”varTypes,“RowTimes”T“VariableNames”varNames)
TT =4×3的时间表时间温度风速站 ____________________ ___________ _________ _________ 26日- 11月- 2022 06:58:42 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的时间表时间温度风速站 ____________________ ___________ _________ _________ 26日- 11月- 2022 06:58:42 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”,“双”,“持续时间”};时间表(“大小”、深圳、“VariableTypes”varTypes,“SampleRate”, 1000,“开始时间”秒(15))
TT =4×3的时间表Time Var1 Var2 Var3 __________ ________ ________ 15 sec 00 00:00:00 15.001 sec 00 00:00:00 15.002 sec 00 00:00:00 15.003 sec 00 00:00:00
索引到第三行,通过指定它的时间,并添加一行数据。
TT(秒(15.002),:)={50,1.37,分钟(76)}
TT =4×3的时间表时间Var1 Var2 Var3 __________ ________ ________ 15 sec 00 00:00:00 15.001 sec 00 00:00:00 15.002 sec 50 1.37 01:16:00 15.003 sec 00 00:00:00
使用时间步骤预分配时间表
指定一个时间步长和变量名。
Sz = [3 2];varTypes = {“双”,“双”};时间表(“大小”、深圳、“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时间表时间读数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
限制
输入名称使用单引号:
“DimensionNames”
(因为R2021a)“RowTimes”
“SampleRate”
“大小”
“开始时间”
“步伐”
“VariableTypes”
“VariableNames”
为了避免与变量输入混淆,不要使用双引号字符串标量(例如
“RowTimes”
)。
提示
有关接受或返回时间表的函数列表,请参见时间表.
在某些情况下,你可以打电话
时间表
使用指定行时间之间的常规时间步长的语法时间表
返回一个不规则的时间表。当使用日历时间单位指定时间步长,且行时间引入不规则步长时,就会出现此结果。例如,如果您创建的时间表的时间步骤为一个日历月,从2019年1月31日开始,那么就月份而言,它是不规则的。Stime = datetime(2019,1,31);Tstep = calmonths(1);时间表(“大小”(3 - 1),“VariableTypes”, {“双”},...“步伐”tstep,“开始时间”少许)
TT = 3×1时间表时间Var1 ___________ ____ 2019年1月31日0 2019年2月28日0 2019年3月31日0
在其他情况下,不规则是由于日光节约时间(DST)或到
datetime
闰秒值。该表指定可能意外产生不规则结果的日期、时间和时间步骤。行时间值
时间步长
指定为每月29日、30日或31日的开始时间。
月数:日历月或季度数
开始时间指定为2月29日。
日历年数。
任何 datetime
发生在从夏令时到标准时间的一天的凌晨1点到凌晨2点之间的值(当这些值具有遵守夏令时的时区时)。日:日历日或月的数目 任何
datetime
值,该值为闰秒(当此类值的时区为UTCLeapSeconds
时区)。有关闰秒的列表,请参见leapseconds
.在任何日历单位(天、周、月、季度或年)中指定的时间步长。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
的
“SampleRate”
,“步伐”
,“开始时间”
不支持名称-值对。金宝app创建.有几种方法可以创建一个高时间表:
指定
OutputType
属性设置为“时间表”
这样数据存储上的读操作就会返回时间表。然后,将数据存储转换为一个高数组高(ds)
.默认行为是使用第一个
datetime
或持续时间
变量在数据中的行时间。要指定行时间,请使用RowTimes
属性指定一个高datetime
或者一个高大的持续时间
行乘以的向量。转换现有的高表
table2timetable
.使用转换现有的tall数组
array2timetable
.属性从高表中的变量手动构造高时间表
时间表
构造函数。ds = tabularTextDatastore('数据/文件夹/路径.csv');Tt =高(ds);TT =时间表(rowTimes, TT。Var1, tt。Var2,…)
使用语法将内存中的时间表转换为高时间表
TT =高(TT)
.
金宝app支持功能.的扩展功能每个参考页底部的部分指示该函数是否支持高数组,如果支持,则在使用高时间表函数时是否有任何限制。金宝app
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
从R2020a开始,您可以在MATLAB中使用时间表®用于代码生成的代码。有关更多信息,请参见时间表的代码生成(MATLAB编码器)而且代码生成的时间表限制(MATLAB编码器).
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
使用注意事项和限制:
只支持以下语法:金宝app
时间表(
rowTimes
,var1,…,varN
)时间表(
var1,…,varN
“RowTimes”,rowTimes
)时间表(___,
“VariableNames”
,{name1,…,”以“}
)时间表(___,
“DimensionNames”
,{“dim1”、“dim2”}
)所有数据变量都必须分布。
有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱).
版本历史
在R2016b中引入R2021a:“SamplingRate”
将被移除
的“SamplingRate”
名称-值参数将在未来的版本中删除。使用“SampleRate”
代替。相应的时间表属性也被命名SampleRate
.
为了向后兼容,您仍然可以指定“SamplingRate”
作为名称-值参数的名称。但是,该值被赋给SampleRate
财产。
R2019b:变量名可以包含开头和结尾的空白字符
表和时间表变量名的前导或后置空格字符不会被修改。
方法指定变量名时,将从变量名中删除前导和尾随空白字符“VariableNames”
名称-值对参数,或将它们赋给VariableNames
财产。
若要手动删除此类字符,请首先使用strtrim
函数,然后将它们作为变量名分配给表或时间表。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。