时间表
时间表数组与时间戳行和不同类型的变量
描述
时间表
是一种表,将时间与每一行。像表一样,时间表将用于数据存储的变量可以具有不同的数据类型和大小,只要他们有相同的行数。此外,时间表提供详细时间函数一致,结合,与时间戳数据执行计算在一个或多个时间表。
的行乘以时间表的datetime
或持续时间
行值标签。你可以通过行索引时间表的时间和变量。时间表的索引,使用光滑的括号()
返回子表或大括号{}
提取内容。你可以参考变量的向量行乘以使用的名字。有关索引的更多信息,请参阅选择在时间表和访问数据表。
找到和标签事件时间表,附加一个事件表。事件表事件发生的时间列表,连同事件标签和其他关于事件的信息。有关更多信息,请参见eventtable
。(因为R2023a)
创建
创建一个时间表,您可以从文件中读取数据到一个表使用readtimetable
功能,或者你可以把变量在其他数据类型。
转换:
一个数组,使用
array2timetable
函数。一个表,使用
table2timetable
函数。一个
timeseries
对象,使用timeseries2timetable
函数。
万博1manbetx®用户可以从中提取数据万博1manbetxSimulink.SimulationData.Dataset
通过使用对象extractTimetable
(万博1manbetx模型)函数。
或者,您可以使用时间表
下面描述的函数。从输入数组创建一个时间表或preallocate空间变量的值是后来补上。指定行乘以,您可以使用一个输入向量行乘以或创建的行乘以通过使用一个采样率或时间步。
语法
描述
结合现有的变量
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)。第一行时间是0秒。
TT =时间表(
使用时间步var1,…, varN
“步伐”,dt
)dt
计算定期间隔一行乘以。dt
是一个持续时间
或calendarDuration
值指定的时间长度之间的连续行乘以。第一行时间是0秒。
Preallocate空间
输入参数
var1,…, varN
- - - - - -输入变量
数组
输入变量指定为数组具有相同的行数。输入变量可以有不同的大小和不同的数据类型,只要他们有相同的行数。
常见的输入变量数值数组、逻辑数组,字符串数组,数组,结构和细胞阵列。
输入变量也可以是对象数组。这样一个数组必须支持索引的形式万博1manbetxvar (indexN index1…)
,在那里index1
是一个数字或逻辑向量对应变量的行吗var
。此外,必须实现一个数组vertcat
方法和大小
方法昏暗的
论点。
rowTimes
- - - - - -次与排时间表
datetime
向量|持续时间
向量
*与排一个时间表,指定为一个datetime
向量或持续时间
向量。每一次标签中的一行输出的时间表,TT
。的时间值rowTimes
不需要是独一无二的,排序,或定期。
深圳
- - - - - -预先分配的时间表
双元素数值向量
预先分配的大小时间表,指定为一个双元素数值向量。的第一个元素深圳
指定的行数,第二个元素指定时间表变量的数量。
varTypes
- - - - - -预先分配变量的数据类型
单元阵列的特征向量|字符串数组
预先分配的变量的数据类型,指定为一个单元阵列特征向量或一个字符串数组。指定的类型的数量varTypes
必须等于指定变量的第二个元素的数量吗深圳
。
varTypes
可以包含任何数据类型的名称,包括表中显示的名称。
数据类型名称 |
每个元素的初始值 |
---|---|
|
双或单精度 |
|
双或单精度 |
|
签署了8 - 16 - 32位或64位整数 |
|
Unsigned 8 - 16 - 32位或64位整数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
标量结构没有字段 |
|
表不变量 |
|
没有变量和时间表 |
对于任何其他数据类型,使用的初始值是值类型或类”填入“未派职务的一个数组的元素。
如果您指定“字符”
作为一个数据类型时间表
预分配相应的变量作为一个单元阵列的特征向量,而不是作为一个字符数组。最佳实践是避免创建表或时间表字符数组变量。在处理文本数据表或一个时间表,考虑使用一个字符串数组或一个分类数组。
Fs
- - - - - -采样率
积极的数字标量
采样率,指定为一个积极的数字标量。Fs
指定数量的样本每秒(Hz)。
dt
- - - - - -时间步长
持续时间
标量|calendarDuration
标量
指定为一个时间步持续时间
标量或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
标量|持续时间
标量
开始时间,指定为一个datetime
标量或持续时间
标量。开始时间也是第一行的行时间的时间表。
您可以指定“开始时间”
也只有当你指定“SampleRate”
或“步伐”
名称-值对的论点。
如果时间是一个开始
datetime
值,然后行乘以TT
是datetime
值。如果时间是一个开始
持续时间
值,然后行乘以时间。如果时间步
dt
是一个calendarDuration
必须是一个值,然后开始时间datetime
价值。
属性
访问时间表元数据属性
时间表包含元数据属性,描述了时间表,行乘以,变量。使用语法访问这些属性
,在那里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 datetime18 - 12月- 2015年12月19日- 12月- 2015 20 - - 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.Date
和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。描述=“从2015年12月天气数据”;总结(TT)
描述:从2015年12月RowTimes天气数据:时间:3 x1 datetime值:分钟18 - 12月- 2015年平均19 - 12月- 2015年马克斯20 - 12月- 2015年步伐24:00:00变量:温度:3 x1双重价值:42.3最小37.3中位数39.1最大压力:3 x1双重价值:30.1最小29.9中位数30.03最大风速:3 x1双重价值:13.4最小6.5中位数7.3最大
用户数据
- - - - - -附加的时间表信息
[]
(默认)|数组
附加的时间表信息,指定为一个数组。您可以将任何类型的数据附加到一个时间表使用这个属性。
例子
创建一个时间表。修改变量名称。附加一个匿名函数作为一个相关的用户数据的时间表。
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= {“临时”,“压力”,“风速”};Fahrenheit2Celsius = @ (x) (5.0/9.0)。* (x - 32);TT.Properties。用户数据= Fahrenheit2Celsius; TT.Properties
ans = TimetableProperties属性:描述:“用户数据:@ (x) (5.0/9.0)。* (×32) DimensionNames:{“时间”“变量”}VariableNames:{“临时”“压力”“风速”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:1 d事件:[]CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
行乘以元数据
RowTimes
- - - - - -行乘以
datetime
向量|持续时间
向量
行次,指定为一个datetime
向量或持续时间
向量。
必须有时间每一行一行的时间表。
一个时间表可以有重复的行乘以,秩序,或
NaT
或南
值。行乘以是可见的,当你查看时间表。此外,您可以使用括号中的行乘以或大括号来访问的时间表数据。
访问行乘以另一种方式是使用点语法和时间表的第一个维度的名称。
例子
创建一个时间表。然后替换行乘以使用Properties.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= Dates
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
标量或持续时间
标量。开始时间=第一行的行时间的时间表,并具有相同的数据类型。
如果时间是一个开始
datetime
值,然后行乘以TT
是datetime
值。如果时间是一个开始
持续时间
值,然后行乘以时间。如果时间步
calendarDuration
必须是一个值,然后开始时间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.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“温度”“风速”“WindDirection”} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:南事件:[]CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
修改开始时间
财产。请注意,所有的行次新值。每一行次的变化值等于原始值之间的差异的第一行时间和新的开始时间。
TT.Properties。开始时间= 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
标量
指定为一个时间步持续时间
标量或calendarDuration
标量。
如果你指定的时间步
calendarDuration
值(例如,日历月),然后行乘以一定的向量datetime
向量。如果你指定的时间步
持续时间
值(例如,秒),那么要么是一个行向量的倍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 99.1 0.04秒
显示其属性。的步伐
作为一个持续时间属性存储时间步。
TT.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“强度”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1时间[5]开始时间:0秒SampleRate: 100步伐:0.01秒事件:[]CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
修改步伐
财产。开始时间是相同的,但所有其他行乘以是不同的,因为时间步长比较大。然而,该变量强度
是相同的。
TT.Properties。步伐= seconds(0.04)
TT =5×1的时间表时间强度________ _____ 0秒100 0.04秒98.7 0.08秒95.2 0.12秒101.4 99.1 0.16秒
事件
- - - - - -事件
事件表|datetime
向量|持续时间
向量
自从R2023a
事件,指定为一个事件表,datetime
向量,或持续时间
向量。事件表事件发生的时间列表,标签描述的事件,有时其他关于事件的信息。找到和标签的时间表行期间发生的事件,事件附加到任务的时间表事件
财产。
如果你指定一个datetime
或持续时间
向量,然后赋值转换向量与违约事件表事件表的标签和分配事件
财产。
行乘以时间表和事件相关的事件必须具有相同的数据类型。例如,您不能附上持续时间
向量,或一个事件表事件的时间持续时间
行时间的值,一个时间表datetime
值。
关于事件表的更多信息,请参阅eventtable
。
变量的元数据
VariableNames
- - - - - -变量名
单元阵列的特征向量|字符串数组
变量名称,指定为一个单元阵列特征向量或一个字符串数组,其元素非空的和独特的。人名的数目必须相等数量的变量。
变量名可以有Unicode字符,包括空格和非ascii字符。
变量名称是可见的,当查看时间表,什么时候使用
总结
函数。此外,您可以使用变量名称在括号内,花括号内,或用点索引访问表数据。如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
例子
创建一个默认的变量名的时间表。然后修改名称使用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的时间表时间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的时间表临时压力___________风速__ ________ _____ 12月18 - 19 - 2015 37.3 30.1 13.4 - 12月- 2015 42.3 39.1 30.03 6.5 2015 - 12月30日7.3
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:时间:3 x1 datetime值:分钟18 - 12月- 2015年平均19 - 12月- 2015年马克斯20 - 12月- 2015年步伐24:00:00变量:温度:3 x1双重属性:描述:温度(外部)值:42.3最小37.3中位数39.1最大压力:3 x1双重属性:描述:压汞值:30.1最小29.9中位数30.03最大风速:3 x1双重属性:描述:风速传感器123值:13.4最小6.5中位数7.3最大
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:时间:3 x1 datetime值:分钟18 - 12月- 2015年平均19 - 12月- 2015年马克斯20 - 12月- 2015年步伐24:00:00变量:温度:3 x1双重性质:单位:度值:42.3最小37.3中位数39.1最大压力:3 x1双重性质:单位:毫米汞柱值:30.1最小29.9中位数30.03最大风速:3 x1双重性质:单位:13.4英里/小时值:最小6.5中位数7.3最大
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.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“温度”“风速”“WindDirection”} VariableDescriptions: {} VariableUnits: {} VariableContinuity:[连续事件事件]RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:1 d事件:[]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.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“温度”“风速”“WindDirection”} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:南事件:[]自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFile:[]工具:[]
定制的元数据使用点赋值语法。当你分配一个数组文本值的自定义元数据,最佳实践是使用一个字符串数组,而不是单元阵列的特征向量。如果一个属性CustomProperties
单元阵列的特征向量,然后没有机制来防止你以后分配非文本值作为单元阵列的元素。
TT.Properties.CustomProperties。仪器= [“温度计”,“风速计”,“风向标”];TT.Properties.CustomProperties。OutputFile =“weatherReadings.csv”;TT.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“温度”“风速”“WindDirection”} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:南事件:[]自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFile: weatherReadings。csv的工具(“温度计”:“风速表”“风向标”]
删除OutputFile
的财产TT
。
TT = rmprop (TT,“OutputFile”);TT.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“时间”“变量”}VariableNames:{“温度”“风速”“WindDirection”} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3 x1 datetime)开始时间:18 - 12月- 2015 SampleRate:南步伐:南事件:[]自定义属性(访问使用t.Properties.CustomProperties。<名称>):仪器:[“温度计”“风速表”“风向标”]
例子
存储和同步相关数据变量的时间表
存储数据对天气条件下测量了在不同的时间在一个时间表。除了存储、时间表提供函数来同步数据乘以你指定。同样,你可以注释的时间表的变量来描述你的工作和时间表。
从工作空间变量创建一个时间表。中的值MeasurementTime
成为行乘以的时间表。所有其他的输入参数成为时间表变量。当你使用这个语法,行乘以向量和变量的名称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临时压力风速____________________ ______月______ _____ 18 - 12月- 2015年18 - 12月- 2015 09:00:00 08:00:00 37.254 30.102 13.577 38.152 30.067 10.133 18 - 12月- 2015年18 - 12月- 2015 11:00:00 10:00:00 39.051 30.032 6.6885 40.613 29.969 6.8783 18 - 12月- 2015年18 - 12月- 2015 13:00:00 12:00:00 42.214 29.903 7.2785 43.815 29.838 7.6788
因为输出的行乘以不测量的时候,重命名行乘以向量。这个向量也是第一个维度的名称的时间表。
TT2.Properties。DimensionNames{1} =“InterpolatedTimes”
TT2 =6×3的时间表InterpolatedTimes临时压力风速____________________ ______月______ _____ 18 - 12月- 2015年18 - 12月- 2015 09:00:00 08:00:00 37.254 30.102 13.577 38.152 30.067 10.133 18 - 12月- 2015年18 - 12月- 2015 11:00:00 10:00:00 39.051 30.032 6.6885 40.613 29.969 6.8783 18 - 12月- 2015年18 - 12月- 2015 13:00:00 12:00:00 42.214 29.903 7.2785 43.815 29.838 7.6788
注释TT2
与描述。你可以标注TT2
和它的变量使用元数据通过TT2.Properties
。
TT2.Properties。描述=“天气数据插值到定期小时倍”;TT2.Properties
ans = TimetableProperties属性:描述:“天气数据插值定期每小时时报》的用户数据:[]DimensionNames: {“InterpolatedTimes”“变量”}VariableNames:{“临时”“压力”“风速”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1 datetime[6]开始时间:18 - 12月- 2015年08:00:00 SampleRate: 2.7778 e-04步伐:01:00:00事件:[]CustomProperties:没有自定义属性设置。使用addprop和rmprop CustomProperties修改。
行时间和变量数据的访问
您可以使用点语法访问行乘以一个时间表。此外,你可以使用点语法访问单个变量,或者所有的数据在一个时间表使用第二维度名称。
从MAT-file加载一个时间表在户外
。显示前三行。
负载在户外户外(1:3,:)
ans =3×3的时间表时间湿度TemperatureF PressureHg ___________________ ________ _______ __________ 2015-11-15 00:00:24 49 51.3 - 29.61 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
访问所有的时间表数据作为一个矩阵,使用语法outdoors.Variables
。这个语法使用第二个维度的时间表,和相当于使用花括号索引访问所有内容,户外{:,:}
。然而,矩阵不包括行次,因为行乘以向量的时间表的元数据,而不是一个变量。如果时间表数据不能被连接到一个矩阵,然后一条错误消息。
outdoors.Variables
ans =51×349.0000 51.3000 29.6100 48.9000 51.5000 29.6100 48.9000 51.5000 29.6100 48.8000 51.5000 29.6100 48.7000 51.5000 29.6000 48.8000 51.5000 29.6000 49.0000 51.5000 29.6000 49.1000 51.3000 29.6000 49.1000 51.3000 29.6100 49.1000 51.5000 29.6100⋮
重命名的第二个维度在户外
。如果你改变名字,然后你就可以使用新名字来访问数据。
outdoors.Properties。DimensionNames {2} =“数据”;outdoors.Data
ans =51×349.0000 51.3000 29.6100 48.9000 51.5000 29.6100 48.9000 51.5000 29.6100 48.8000 51.5000 29.6100 48.7000 51.5000 29.6000 48.8000 51.5000 29.6000 49.0000 51.5000 29.6000 49.1000 51.3000 29.6000 49.1000 51.3000 29.6100 49.1000 51.5000 29.6100⋮
指定时间向量
创建一个使用的时间表“RowTimes”
名称-值对的论点。注意行乘以向量的名称TT
是时间
,而不是MeasurementTime
。当你使用这个语法,行乘以向量总是的名字时间
。
MeasurementTime = datetime ({“2015-12-18 08:03:05”;“2015-12-18 10:03:17”;“2015-12-18 12:03:13”});Temp = (37.3; 39.1; 42.3);压力= (29.4;29.6;30.0);降雨= (0.1;0.9;0.0);StormDuration =[(2)小时(1);小时;南);TT =时间表(温度、压力、降雨、StormDuration“RowTimes”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 2小时18 - 12月- 2015 42.3 12:03:13 30 0南人力资源
默认的名字
创建一个时间表。如果有输入参数不工作空间变量,然后时间表
函数分配缺省名称对应的行乘以向量和变量的时间表。举个例子,如果你转置一些输入参数使其列向量,那么这些输入参数不是工作空间变量。默认的名字时间
行乘以向量的,VarN
为N
th时间表变量。
T =小时(1:3);Temp = (37.3; 39.1; 42.3);30 P = (29.4 - 29.6);TT =时间表(T '临时P ')
TT =3×2时间表时间临时Var2 ____上1小时42.3 37.3 39.1 - 29.6 29.4 - 2小时3人力资源30
指定采样率
创建一个常规的时间表使用采样率为100 Hz。
强度= [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 99.1 0.04秒
第一行创建一个时间表与30秒时间。指定开始时间,使用“开始时间”
名称-值对的论点。
TT =时间表(强度,“SampleRate”,100,“开始时间”秒(30))
TT =5×1的时间表替30秒时间强度100 30.01秒98.7 95.2 - 30.03 30.02 99.1 101.4 30.04秒
指定时间步
创建一个常规的时间表使用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 99.1 0.04秒
第一行创建一个时间表与30秒时间。指定开始时间,使用“开始时间”
名称-值对的论点。
TT =时间表(强度,“步伐”秒(0.01),“开始时间”秒(30))
TT =5×1的时间表替30秒时间强度100 30.01秒98.7 95.2 - 30.03 30.02 99.1 101.4 30.04秒
指定的大小和变量类型
Preallocate表通过指定它的大小和变量的数据类型。的时间表
默认值来填充变量的函数适合您指定的数据类型。它也给变量缺省名称。
T = [datetime (“现在”datetime (2017、11、1:3)];深圳= 3 [4];varTypes = {“双”,“双”,“字符串”};TT =时间表(“大小”、深圳、“VariableTypes”varTypes,“RowTimes”,T)
TT =4×3的时间表时间Var1 Var2 Var3 ____________________ ___ _____ _____ 03 - mar - 2023 06:17:14 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的时间表时间温度风速站____________________⒈替03 - mar - 2023 06:17:14 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的时间表时间温度风速站____________________⒈替03 - mar - 2023 06:17:14 0 0 <失踪> 01 - 11月- 2017就是0 0 <失踪> 02 - 11月- 2017就是48.2 - 13.33“S1”03 - 11月- 2017就是0 0 <失踪>
你可以封装一个行数据值的单元数组。当你分配一个行从一个单元数组,作业将细胞数组转换成一个时间表。
Preallocate时间表使用采样率
指定采样率为1000 Hz, preallocate时间表。你也可以指定一个开始时间。
深圳= 3 [4];varTypes = {“uint64”,“双”,“持续时间”};TT =时间表(“大小”、深圳、“VariableTypes”varTypes,“SampleRate”,1000,“开始时间”秒(15))
TT =4×3的时间表时间Var1 Var2 Var3 __________ ____ ____ ________ 15秒0 0就是15.001秒0 0就是15.002秒0 0就是15.003秒0 0就是
索引到第三行,通过指定时间,并添加一行数据。
TT(秒(15.002):)={50 1.37分钟(76)}
TT =4×3的时间表时间Var1 Var2 Var3 __________ ____ ____ ________ 15秒0 0就是15.001秒0 0就是15.002秒50 1.37 01:16:00 15.003秒0 0就是
使用时间步Preallocate时间表
指定一个时间步,和名称的变量。
深圳= 2 [3];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
创建时间表和指定变量名
创建一个时间表,并指定时间表变量的名称。行乘以一个向量持续时间
向量,其单位是秒。
时间=秒(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 _____说111 3秒秒98 120 2秒97.5 97.9 97.9 98.1 119 4秒117 5秒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日——2019年5月- 30 - 120年5月- 2019年_____…………1秒98 2秒98.1 97.5 97.9 111 3秒119 4秒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”
这些名字。
提示
一个功能列表,接受或返回时刻表,明白了时间表。
在某些情况下,您可以调用
时间表
的语法指定正则行乘以之间的时间步,然而时间表
返回一个不规则的时间表。这个结果发生在您指定的时间步使用日历单位时间和有一排时间,引入了一个不规则的步骤。例如,如果你创建一个时间表的时间步一个日历月,1月31日开始,2019年,那么它就是不规则的几个月。少许= datetime (2019, 31);tstep = calmonths (1);TT =时间表(“大小”(3 - 1),“VariableTypes”,{“双”},…“步伐”tstep,“开始时间”少许)
TT = 3×1时间表Var1 ___________ __ 31 - 1月- 2019 0 2月28 - 31 - 3月- 2019 0 - 2019 0
有其他违规行为的情况下将从夏时制(DST)或转移
datetime
闰秒的值。这个表指定日期、时间和时间的步骤可以产生不规则的意外结果。行时间价值
时间步长
开始时间指定为29日,30日或月的31天。
个月或季度的日历。
开始时间指定为2月29日。
日历年。
任何 datetime
值发生在下午1点至下午2点之间每天从DST转向标准时间(当这些价值有一个时区,观察DST)。数天或数月。 任何
datetime
值是一个闰秒(当这些价值是时区UTCLeapSeconds
时区)。闰秒的列表,请参阅leapseconds
。时间步中指定的任何日历单元(天,周,月,季度,年)。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
的
“SampleRate”
,“步伐”
,“开始时间”
不支持名称-值对。万博1manbetx的
事件
属性不支持高时间表。万博1manbetx创建。有几种方法可以创建一个高大的时间表:
指定
OutputType
房地产的底层数据存储“时间表”
所以,读操作数据存储返回时刻表。然后,将数据存储到一个高的数组高(ds)
。默认行为是使用第一个
datetime
或持续时间
变量的数据行。指定行乘以自己,使用RowTimes
数据存储属性指定一个高datetime
或高持续时间
行乘以向量。转换现有的高表使用
table2timetable
。转换现有的高使用数组
array2timetable
。手工构建一个高的时间表从高表中使用的变量
时间表
构造函数。ds = tabularTextDatastore(“数据/文件夹/ path.csv”);tt =高(ds);TT =时间表(rowTimes, TT。Var1, tt。Var2,…)
一个内存中的时间表转换成一个高大的时间表使用语法
TT =高(TT)
。
万博1manbetx支持功能。的扩展功能每个参考页面的底部表示这个函数是否支持高数组,如果是这样,是否有任何限制使用函数时高的时间表。万博1manbetx
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
从R2020a开始,您可以使用MATLAB的时间表®用于代码生成代码。有关更多信息,请参见代码生成的时间表(MATLAB编码器)和代码生成的时间表的限制(MATLAB编码器)。
分布式阵列
分区大数组在内存使用并行计算集群的工具箱相结合™。
使用笔记和限制:
只有这些语法支持:万博1manbetx
TT =时间表(
rowTimes
,var1,…, varN
)TT =时间表(
var1,…, varN
“RowTimes”,rowTimes
)TT =时间表(___,
“VariableNames”
,{name1,…,”以“}
)TT =时间表(___,
“DimensionNames”
,{“dim1”、“dim2”}
)所有变量的数据必须分布。
的
“SampleRate”
,“步伐”
,“开始时间”
不支持名称参数。万博1manbetx的
事件
属性不支持。万博1manbetx
有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱)。
版本历史
介绍了R2016bR2023a:改进的性能或加下标时倍withtol
下标
时间表
加下标或加下标时倍withtol
下标是比R2022b R2023a更快。
例如,当你使用一个100年的向量
datetime
值下标为10的时间表7行,性能比R2022b R2023a大约快114倍。函数rng timingTest ()默认的% 10 ^ 7行N = 10000000;rowtimes = datetime(2023年1 1 0,0,0:n - 1);rowtimes。= rowtimes格式。格式+“.SSS”;tt =时间表(兰德(N, 1), RowTimes = RowTimes);% 100的值选择在步骤10n = 1000;t = datetime(2023年1 1 0 0,0:10:n - 1);抽搐tt2 = tt (t):);toc结束
执行时间大约是:
R2022b:9.10秒
R2023a:0.08秒
同样,当你使用一个向量的100
持续时间
值下标为10的时间表7行,性能比R2022b快R2023a大约是14倍。函数rng timingTest ()默认的% 10 ^ 7行N = 10000000;rowtimes =秒(0:n - 1);tt =时间表(兰德(N, 1), RowTimes = RowTimes);% 100的值选择在步骤10n = 1000;t =秒(0:10:n - 1);抽搐tt2 = tt (t):);toc结束
执行时间大约是:
R2022b:1.29秒
R2023a:0.09秒
当你使用
withtol
下标有10的时间表7行,性能比R2022b快R2023a约为44倍。函数rng timingTest ()默认的% 10 ^ 7行N = 10000000;rowtimes =秒(0:n - 1);tt =时间表(兰德(N, 1), RowTimes = RowTimes);% 100的值选择在步骤10n = 1000;t =秒(0:10:n - 1);tt。Time = tt.Time + .1*seconds(rand(N,1)); wt = withtol(t,seconds(.1)); tic tt2 = tt(wt,:); toc结束
执行时间大约是:
R2022b:3.92秒
R2023a:0.09秒
时间在Windows的代码®10日,AMD®74年EPYC f3 24核处理器@ 3.19 GHz测试系统通过调用每个版本的timingTest
函数。
R2021a:“SamplingRate”
将被删除
的“SamplingRate”
名称-值参数将在未来的版本中被删除。使用“SampleRate”
代替。相应的时间表属性还任命SampleRate
。
为了向后兼容,您还可以指定“SamplingRate”
作为名称的名称参数。然而,被分配到的价值SampleRate
财产。
R2019b:变量名称可以包含前导和尾随空白字符
表和时间表变量名与前导或尾随空格字符不修改。
在以前的版本中,前导和尾随空白字符被删除从指定变量名时使用“VariableNames”
名称-值对的论点,或分配它们VariableNames
财产。
手动删除这些字符,首先使用strtrim
函数的名称,然后指定变量名称的表或时间表。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。