主要内容

table2timetable

将表格转换为时间表

描述

例子

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

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

  • 如果T是一个——- - - - - -N然后是带有行名的表table2timetable的行名T的变量TT.作为一个结果,TT是一个——- - - - - -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.8202 e + 06 2002-02-01 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'} {'West'} 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} {'MidWest'} 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm'}

将表格转换为时间表。第一个变量是乘以,OutageTime的时间向量TT

TT = table2timetable (T);: TT (1:5)
ans =5×5时间表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×5时间表OutageTime地区客户RestorationTime造成损失  ________________ _____________ _____ __________ ________________ ________________ 2003-02-07) 21:15{“东南”}289.4 - 1.4294 e + 05 2003-02-17 08:14{“暴风雪”}

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

TT。OutageDuration = TT。RestorationTime- TT.OutageTime; TT(1:5,:)
ans =5×6时间表OutageDuration OutageTime地区损失客户RestorationTime原因  ________________ _____________ ______ __________ ________________ ___________________ ______________ 2002-02-01 12:18{“西南”}458.98 - 1.8202 e + 06 2002-02-07 16:50{“暴风雪”}148:32:00 2003-01-23 00:49{“东南”}530.14 - 2.1204 e + 05 NaT{“暴风雪”}南2003-02-0721:15 {'SouthEast'} 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' } 226:59:00 2004-04-06 05:44 {'West' } 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} 00:26:00 2002-03-16 06:18 {'MidWest' } 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' } 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.8202 e + 06 2002-02-01 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'} {'West'} 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} {'MidWest'} 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm'}

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

TT = table2timetable (T)“RowTimes”“RestorationTime”);: TT (1:5)
ans =5×5时间表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×2时间表时间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×2时间表时间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×2时间表时间阅读1阅读2 ________ ________ ________ 00:00:00 98 120 00:00:10 97.5 111 00:00:20 97.9 119 00:00:30 98.1 117 00: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×2时间表时间阅读1阅读2 ______ ________ ________ 5秒98 120 15秒97.5 111 25秒97.9 119 35秒98.1 117 45秒97.9 116

输入参数

全部折叠

输入表。

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

分配给输出时间表的行时间,指定为日期时间向量或持续时间向量。元素的数量rowTimes必须等于输入表的行数。时间值rowTimes不需要是唯一的、有序的或常规的。

采样率,指定为正数值标量。Fs每秒采样次数(Hz)。

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

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

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

  • 如果t0是datetime值,那么行时间是TTdatetime值。

  • 如果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时区为夏令时的值)。 日历上的天数或月份。

    任何一个闰秒的行时间(当行时间被指定为datetime时区为UTCLeapSeconds时区)。有关闰秒的列表,请参见leapseconds

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

兼容性的考虑

全部展开

从R2021a开始警告

扩展功能

介绍了R2016b