文档

table2timetable

将表格转换为时间表

描述

例子

TT.= table2timetable (T.转换表T.一个时间表。中的第一个日期时间或持续时间变量T.变的行倍矢量TT..剩下的变量T.成为TT.

  • 如果T.是一个m——- - - - - -N然后是没有行名的表TT.是一个m——- - - - - -(N-1)时间表。

  • 如果T.是一个m——- - - - - -N然后是带有行名的表table2timetable的行名T.的变量TT..作为一个结果,TT.是一个m——- - - - - -N时间表。

有关创建和使用时间表的更多信息,请参见时间表

要创建从数据在文本或电子表格文件的时间表,首先使用readtable功能来读取数据到一个表。那么表转换为与时间表table2timetable

例子

TT.= table2timetable (T.'RowTimes',timeVarName赋值表变量timeVarName为输出时间表的行乘以向量。timeVarName可以是任意变量的名称T.包含日期时间或持续时间值的。剩下的变量T.成为TT.

例子

TT.= table2timetable (T.'RowTimes',rowTimes分配向量rowTimes为输出时间表的行乘以向量。所有的变量T.的变量TT.

例子

TT.= table2timetable (T.“SampleRate”,Fs使用抽样率Fs计算有规则间隔的行时间。Fs是指定每秒采样次数(Hz)的正数值标量。第一行时间是零秒。

例子

TT.= table2timetable (T.“步伐”,DT.使用时间步长DT.计算有规则间隔的行时间。DT.指定连续行时间之间的时间长度的持续时间或日历持续时间值。第一行时间是零秒。

例子

TT.= table2timetable (___“开始时间”,T0指定开始时间T0,而不是零秒,作为第一行时间。属性创建常规时间表时,可以使用此语法“SampleRate”“步伐”前两种语法中的名称-值对参数。

例子

全部折叠

将包含日期和时间的表转换为时间表。

从文件中读取断电数据outages.csv以一个表格。该表同时包含停电和恢复时间。

T = readtable ('outages.csv');: T (1:5)
ans =5×6表地区OutageTime客户流失RestorationTime原因_____________ ________________ ______ __________ ________________ ___________________ { '西南'} 2002-02-01 12时18分458.98 1.8202e + 06 2002年2月7日16时50 { '暴风雪'} { '东南'} 2003-01-23零点49分530.14 2.1204e + 05的NaT { '冬季风暴'} { '东南亚'} 2003-02-07 21:15 289.4 1.4294e + 05 2003-02-17 8时14分{ '冬季风暴'} { '西'} 2004-04-06 05:44 434.81 3.4037e + 05 2004-04-06 06:10 { '设备故障'} {“中西部地区} 2002年3月16日06:18 186.44 2.1275e +05 2002-03-18 23:23 { '强风暴'}

将表格转换为时间表。与次第一个变量OutageTime的时间向量TT.

TT = table2timetable(T);TT(1:5,:)
ans =5×6时间表OutageTime地区客户RestorationTime造成损失  ________________ _____________ ______ __________ ________________ ___________________ 2002-02-01 12:18{“西南”}458.98 - 1.8202 e + 06 2002-02-07 16:50{“暴风雪”}2003-01-23 00:49{“东南”}530.14 - 2.1204 e + 05 NaT{“暴风雪”}2003-02-07)21:15{“东南”}289.4 - 1.4294 e + 052003-02-17 08:14 {'winter storm'} 2004-04-06 05:44 {'West'} 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} 2002-03-16 06:18 {'MidWest'} 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm'}

索引TT.用行乘以它的时间向量。您可以将行时间视为指定行的标签。

TT (“2003-02-07)21:15”:)
ans =1×6时间表OutageTime地区客户流失RestorationTime原因________________ _____________ _____ __________ ________________ ________________ 2003-02-07 21点15分{ '东南'} 289.4 1.4294e + 05 2003-02-17 8时14 { '暴风雪'}

计算停电持续时间。使用点语法将行时间提取为向量。

TT。OutageDuration = TT。RestorationTime- TT.OutageTime; TT(1:5,:)
ans =5×7时间表OutageTime地区客户流失RestorationTime原因OutageDuration ________________ _____________ ______ __________ ________________ ___________________ ______________ 2002-02-01 12:18 { '西南'} 458.98 1.8202e + 06 2002年2月7日16:50 { '暴风雪'} 148:32:00 2003-01-23 0点49 { '东南亚'} 530.14 2.1204e + 05的NaT { '冬季风暴'}的NaN 2003-02-07 21:15 { '东南亚'} 289.4 1.4294e + 05 2003-02-178时14分{ '暴风雪'} 226:59:00 2004-04-06 5时44 { '西'} 434.81 3.4037e + 05 2004-04-06 6时10 { '设备故障'}零时26:00 2002年3月16日6点18 { '中西部'} 186.44 2.1275e + 05 2002-03-18 23点23 { '剧烈风暴'} 65:05:00

转换表的时间表,并指定成为时间表的时间矢量表变量。

从文件中读取断电数据outages.csv以一个表格。该表同时包含停电和恢复时间。

T = readtable ('outages.csv');: T (1:5)
ans =5×6表地区OutageTime客户流失RestorationTime原因_____________ ________________ ______ __________ ________________ ___________________ { '西南'} 2002-02-01 12时18分458.98 1.8202e + 06 2002年2月7日16时50 { '暴风雪'} { '东南'} 2003-01-23零点49分530.14 2.1204e + 05的NaT { '冬季风暴'} { '东南亚'} 2003-02-07 21:15 289.4 1.4294e + 05 2003-02-17 8时14分{ '冬季风暴'} { '西'} 2004-04-06 05:44 434.81 3.4037e + 05 2004-04-06 06:10 { '设备故障'} {“中西部地区} 2002年3月16日06:18 186.44 2.1275e +05 2002-03-18 23:23 { '强风暴'}

将表格转换为时间表。用日期和时间指定第二个变量,RestorationTime,作为时间表的时间向量。

TT = table2timetable(T,“RowTimes”“RestorationTime”);TT(1:5,:)
ans =5×6时间表RestorationTime地区OutageTime客户造成损失  ________________ _____________ ________________ ______ __________ ___________________ 2002-02-07 16:50{“西南”}2002-02-01 12:18 458.98 - 1.8202 e + 06{“暴风雪”}NaT{“东南”}2003-01-23 00:49 530.14 - 2.1204 e + 05{“暴风雪”}2003-02-17 08:14{“东南”}2003-02-07)21:15 289.41.4294e+05 {'winter storm'} 2004-04-06 06:10 {'West'} 2004-04-06 05:44 3.4037e+05 {'equipment fault'} 2002-03-18 23:23 {'MidWest'} 2002-03-16 06:18 186.44 2.1275e+05 {'severe storm'}

通过添加包含行时间的单独时间向量,将表转换为时间表。所有的表变量都变成了时间表的变量。

Reading1 = [98; 97.5; 97.9; 98.1; 97.9);Reading2 = [120; 111; 119; 117; 116);T =表(Reading1 Reading2)
T =5×2表阅读1阅读2 ________ ________ 98 120 97.5 111 97.9 119 98.1 117 97.9 116
时间= [秒(1):秒(1):秒(5)];TT = table2timetable(T,“RowTimes”、时间)
TT =5×3的时间表时间Reading1 Reading2 _____ ________ ________ 1秒98 120 2秒97.5 111 3秒97.9 119 4秒98.1 117 5秒97.9 116

创建一个表。

Reading1 = [98; 97.5; 97.9; 98.1; 97.9);Reading2 = [120; 111; 119; 117; 116);T =表(Reading1 Reading2)
T =5×2表阅读1阅读2 ________ ________ 98 120 97.5 111 97.9 119 98.1 117 97.9 116

指定500Hz的采样率。转变T.使用该采样速率的零秒的起始行时间的时间表和。

TT = table2timetable(T,“SampleRate”,500)
TT =5×3的时间表时间Reading1 Reading2 _________ ________ ________ 0 sec 98 120 0.002 sec 97.5 111 0.004 sec 97.9 119 0.006 sec 98.1 117 0.008 sec 97.9 116

创建一个表。

Reading1 = [98; 97.5; 97.9; 98.1; 97.9);Reading2 = [120; 111; 119; 117; 116);T =表(Reading1 Reading2)
T =5×2表阅读1阅读2 ________ ________ 98 120 97.5 111 97.9 119 98.1 117 97.9 116

属性指定10秒的时间步长功能。转变T.以使用采样速率的零秒的起始行时间的时间表和。

TT = table2timetable(T,“步伐”,秒(10))
TT =5×3的时间表时间Reading1 Reading2 ________ ________ ________ 00:00:00 98 120 97.5 00:00:10 00:00:20 111 119 97.9 98.1 00:00:30 117○时00分40秒97.9 116

创建一个表。

Reading1 = [98; 97.5; 97.9; 98.1; 97.9);Reading2 = [120; 111; 119; 117; 116);T =表(Reading1 Reading2)
T =5×2表阅读1阅读2 ________ ________ 98 120 97.5 111 97.9 119 98.1 117 97.9 116

通过指定10秒的时间步长和5秒的开始时间,将其转换为一个时间表。

dt =秒(10);t0 =秒(5);TT = table2timetable(T,“步伐”, dt,'开始时间't0)
TT =5×3的时间表时间阅读1阅读2 ______ ________ ________ 5秒98 120 15秒97.5 111 25秒97.9 119 35秒98.1 117 45秒97.9 116

输入参数

全部折叠

输入表。

输入表中变量的名称,指定为字符向量或字符串标量。

行分配给输出时间表,指定为日期时间矢量或持续时间矢量次。的元件的数目rowTimes必须等于输入表的行数。时间值rowTimes不必是唯一的,排序,或者定期。

采样率,指定为正数值标量。Fs指定样本每秒(赫兹)的数目。

时间步长,指定为datetime标量或duration标量。

数据类型:datetime|持续时间|calendarDuration

开始时间,指定为datetime标量或持续时间标量。

  • 如果T0是datetime值,那么行时间是TT.datetime值。

  • 如果T0是一个持续时间,那么行时间就是持续时间。

如果时间步长DT.是一个日历持续时间值,然后T0必须是一个日期时间值。

数据类型:datetime|持续时间

输出参数

全部折叠

输出的时间表。时间表可以存储描述、变量单位、变量名和行时间等元数据。有关更多信息,请参见属性部分时间表

提示

  • 在某些情况下,你可以打电话table2timetable使用指定行时间间隔的常规时间步长的语法table2timetable返回一个不规则的时间表。当你使用时间的日历单位指定的时间步骤并且存在引入了一个不规则步骤的行时间发生这种结果。例如,如果您创建一个日历月的时间步长的时间表,开始在2019年1月31,那么它是不规则相对于个月。

    少许= datetime (2019, 31);tstep = calmonths (1);T =表([1:3]”);TT = table2timetable(T,“步伐”,TSTEP,'开始时间'少许)
    TT = 3×1 schedule Time Var1 ___________ ____ 31- 1- 2019 1 28- 2 -2019 2 31- 3 -2019

    此外,还有其他的情况下,不规则是由于从夏时制时间(DST)移位或以行倍是闰秒。此表指定该行的时间值,并可能突然产生不规则的时间表,时间步骤。

    行时间价值

    时间步长

    开始时间规定为29日,30日或每月的31日

    日历月或季度的数目

    开始时间指定为2月29日

    日历年数

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

    为闰秒的任何行时间(当行时间指定为时区为UTCLeapSeconds时区)

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

兼容性的考虑

全部展开

不推荐在R2018b开始

扩展功能

介绍了在R2016b