文档

使同步

将时间表同步到公共时间向量,并从输入时间表重新取样或聚合数据

描述

这个使同步函数从所有输入时间表中收集变量,将它们同步到一个公共时间向量,并将结果作为单个时间表返回。这种效果类似于水平连接,尽管输入时间表可以有不同的行时间。当使同步函数将时间表变量同步到不同的时间,它还使用指定的方法重新采样或聚合变量中的数据。

实例

TT=同步(TT1, TT2)创建一个时间表,TT,它包含两个输入时间表中的所有变量TT1TT2同步到一个行乘以向量,这是行乘以的并集TT1TT2.行乘以TT没有重复的排序。

实际上,使同步水平连接的变量TT1TT2,即使它们的行乘以不同。作为一个结果,使同步插入丢失的数据指示灯TT无论在何处:

  • 一排时间只从TT1但没有相应的数据来自的变量TT2

  • 一排时间只从TT2但没有相应的数据来自的变量TT1

如果TT1TT2有相同名称的变量,那么使同步重命名它们并将两个变量复制到TT

在中插入或填充值TT对不同的变量使用不同的方法,指定VariableContinuity属性的每个输入时间表。有关更多信息,请参见使用不同的方法重新计时和同步时间表变量

实例

TT=同步(TT1, TT2,newTimeBasis,方法)创建TT通过同步变量TT1TT2到一个新的时间向量newTimeBasis使同步从变量中重新取样或聚合数据TT1TT2指定的操作方法.输入参数,newTimeBasis,指定如何使同步构造的行时间TT从行乘以TT1TT2

例如,如果newTimeBasis“联盟”方法“线性”然后TT包含来自的行时间TT1TT2,使同步使用线性插值将数据从输入时间表重采样到输出行时间。

实例

TT=同步(TT1, TT2,newTimeStep,方法)创建TT通过同步变量TT1TT2到一个新的时间向量,这个时间向量以指定的时间单位为间隔newTimeStep

例如,如果newTimeStep“每天”方法“的意思是”然后TT包含相隔一天的行时间,以及TT包含每个变量的日平均值TT1TT2

实例

TT=同步(TT1, TT2“常规”,方法“步伐”,dt)使用时间步长dt计算有规则间隔的行时间。dt是标量持续时间或日历持续时间。的行时间TT的行乘以的范围TT1TT2

TT=同步(TT1, TT2“常规”,方法“SampleRate”,Fs)使用抽样率Fs计算有规则间隔的行时间。Fs是指定每秒采样次数(Hz)的正数值标量。

实例

TT=同步(TT1, TT2,新时期,方法)创建TT通过同步变量TT1TT2新时期,指定的唯一排序时间的日期时间或持续时间向量。《纽约时报》在新时期成为行次的TT

实例

TT=同步(TT1, TT2,newTimeBasis)创建TT通过同步变量TT1TT2到一个新的时间向量。使同步在需要的地方插入缺失的数据指示器TT

实例

TT=同步(TT1, TT2,newTimeStep)创建TT通过同步变量TT1TT2到一个新的时间向量,这个时间向量以指定的时间单位为间隔newTimeStep.这个使同步函数在需要的地方插入缺失的数据指示器TT

TT=同步(TT1, TT2“常规”,“步伐”,dt)使用时间步长dt计算有规则间隔的行时间。dt是标量持续时间或日历持续时间。的行时间TT的行乘以的范围TT1TT2

TT=同步(TT1, TT2,“常规”,“SampleRate”,Fs)使用抽样率Fs计算有规则间隔的行时间。Fs是指定每秒采样次数(Hz)的正数值标量。

TT=同步(TT1, TT2,新时期)创建TT通过同步变量TT1TT2到时间向量,新时期.这个使同步函数在需要的地方插入缺失的数据指示器TT

TT=同步(TT1, TT2,___,名称,值)用一个或多个指定的附加选项同步时间表名称,值对。您可以将此语法与前面任何语法的输入参数一起使用。

TT =同步(TTN TT1……,___)创建时间表,TT,通过同步N时间表TT1,…,TTN.您可以将此语法与前面任何语法的输入参数一起使用。

例子

全部折叠

从一个文件加载两个示例时间表。然后将它们的数据同步到一个包含新行时间的向量。

负载smallTT

显示时间表。TT1行时间是无序的。TT1TT2有不同的变量。

TT1
TT1=3×2时间表一次临时  ____________________ ____ 18 - 12月- 2015 42.3 12:00:00 18 - 12月- 2015 08:00:00 37.3 18 - 12月- 2015 10:00:00 39.1
TT2
TT2 =3×2时间表时间压力-2015年12月18日09:00:00 30.1 18-Dec-2015 11:00:00 30.03 18-Dec-2015 13:00:00 29.9

同步TT1TT2.输出时间表,TT,包含两个时间表中的所有行时间,按排序后的顺序。在TT,临时包含行时间从TT2,压力包含行时间从TT1

TT =同步(TT1 TT2)
TT =6×3时刻表时间温度压力____________________ ____________ 18-Dec-2015 08:00:00 37.3 NaN 18-Dec-2015 09:00:00 NaN 30.1 18-Dec-2015 10:00:00 39.1 NaN 18-Dec-2015 11:00:00 NaN 30.03 18-Dec-2015 12:00:00 42.3 NaN 18-Dec-2015 13:00:00 NaN 29.9

加载两个包含天气测量值的示例时间表。将其数据同步到时间表中行时间的并集。

负载菲斯特

显示时间表。

TT1
TT1=3×2时间表一次临时  ____________________ ____ 06 - jun - 2016 15:00:00 79.7 06 - 2016年6月- 06 - jun - 2016 17:00:00 76.3 16:00:00 74.9
TT2
TT2 =4×2时间表时间的湿度  ____________________ ________ 06 - jun - 2016 14:35:48 49.7 06 - 2016年6月- 52.2 15:35:48 06 - jun - 2016 16:35:48 56.7 06 - 2016年6月——17:35:48 60

同步时间表。若要选择行时间的并集,请指定“联盟”.重新取样TT1。临时TT2。湿度使用线性插值,指定“线性”

TT =同步(TT1 TT2,“联盟”,“线性”)
TT =7×3的时间表时间温度湿度____________________ ______________ 06-Jun-2016 14:35:48 81.071 49.7 06-Jun-2016 15:35:48 79.7 50.708 06-Jun-2016 15:35:48 77.671 52.2 06-Jun-2016 16:00:00 76.3 54.014 06-Jun-2016 16:35:48 75.464 56.7 06-Jun-2016 17:00:00 74.9 58.03 06-Jun-2016 17:35:48 74.064 60

将两个时间表同步到指定每个时间段为一天的时间箱的新行时间。将输入时间表中的数据聚合到每日时间段中。

加载包含两组不同环境测量值的样本时间表,在室内在户外.空气质量数据来自建筑物内部的传感器,而天气数据则来自建筑物外部的传感器。这些时间表包括从2015年11月15日到2015年11月19日的测量结果。

负载在室内负载在户外

显示每个时间表的前三行。它们不包含相同的行时间或变量。

在室内(1:3,:)
ans =3×3的时间表时间湿度AirQuality  ___________________ ________ __________ 2015-11-15 00:00:24 36 80 2015-11-15 01:13:35 36 80 2015-11-15 02:26:47 37 79
户外(1:3,:)
ans =3×4时间表时间湿度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

属性将时间表中的数据聚合到每日时间箱中使同步作用具体说明“每天”要将数据聚合到每个时间段跨越一天的时间段中,请指定“的意思是”获取每个变量在每个时间段中的平均值。

TT =同步(在室内,室外,“每天”,“的意思是”);: TT (1:3)
ans =3×6时间表时间Humidity_indoors AirQuality Humidity_outdoors TemperatureF PressureHg  ___________________ ________________ __________ _________________ ____________ __________ 2015-11-15就是36.5 80.05 48.931 51.394 29.607 2015-11-15就是36.85 80.35 47.924 36.85 79.45 48.45 51.238 29.613 51.571 - 29.611 2015-11-17就是

将两个带有天气测量的小时间表同步到一组常规行时间,这些行时间跨越输入时间表中的行时间。指定时间步长作为输出时间表中连续行时间之间的间隔。使用线性插值对时间向量中与输入时间表中的行时间不匹配的时间重新采样。

首先,载入两个时间表。

负载在室内负载在户外

显示每个时间表的前三行。它们不包含相同的行时间或变量。

在室内(1:3,:)
ans =3×3的时间表时间湿度AirQuality  ___________________ ________ __________ 2015-11-15 00:00:24 36 80 2015-11-15 01:13:35 36 80 2015-11-15 02:26:47 37 79
户外(1:3,:)
ans =3×4时间表时间湿度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

属性将时间表中的数据聚合到30分钟时间箱中使同步作用具体说明a regular time step using the“普通”输入参数和“步伐”名称-值对的论点。您可以使用这些参数来创建一个常规的时间表,但其时间步骤不是预定义的步骤,例如“每小时”

TT =同步(在室内,室外,“普通”,“线性”,“步伐”分钟(30));: TT (1:3)
ans =3×6时间表时间Humidity_indoors AirQuality Humidity_outdoors TemperatureF PressureHg  ___________________ ________________ __________ _________________ ____________ __________ 2015-11-15就是36 80 49 51.299 - 29.61 2015-11-15 00:30:00 36 80 48.967 51.366 29.61 2015-11-15 01:00:00 36 80 48.934 51.432 29.61

将两个带有天气测量值的小时间表同步到任意时间向量。使用线性插值对时间向量中与输入时间表中的行时间不匹配的时间进行重新采样。

加载两个小时间表,其中包含在半小时标记处进行测量的行时间。然而,在每个时间表中,都有一个行时间,用于记录在半小时后未收集到的数据。这两个时间表都是不规则的,这意味着连续行时间之间的时间步长是不同的。

负载半小时

显示时间表。TT1TT2有三行和不同的变量。

TT1
TT1=3×2时间表时间:2015年12月18日08:30:00 47.6 2015年12月18日09:30:00 49.2 2015年12月18日10:47:23 51.4
TT2
TT2 =3×2时间表时间压力  ____________________ ________ 18 - 12月- 2015 29.7 07:00:00 18 - 12月- 2015 09:30:00 30.03 18 - 12月- 2015 10:30:00 29.9

指定一个时间向量,其中包括每个时间表中的一些行时间。

新时间=日期时间(“2015-12-18 08:30:00”) +小时(0:1:2)
新时期=1 x3 datetime数组2015年12月18日08:30:00 2015年12月18日09:30:00 2015年12月18日10:30:00

同步TT1TT2新时期.这个新时期向量的次数不是行乘以TT1TT2.为插入的时间插入数据值新时期不匹配的行时间TT1TT2,指定“线性”

TT =同步(TT1 TT2,新时期,“线性”)
TT =3×3的时间表时间温度压力  ____________________ ______ ________ 18 - 12月18 - 2015 08:30:00 47.6 29.898 49.2 - 30.03 - 12月- 2015 09:30:00 18 - 12月- 2015 10:30:00 50.906 - 29.9

加载两个示例时间表,并将它们的数据同步到它们共有的行时间向量。

负载intersectTT

显示时间表。TT1TT2有三行和不同的变量。

TT1
TT1=3×2时间表一次临时  ____________________ ____ 18 - 12月- 2015 37.3 08:00:00 18 - 12月- 2015 10:00:00 39.1 18 - 12月- 2015 12:00:00 42.3
TT2
TT2 =3×2时间表时间压力  ____________________ ________ 18 - 12月- 2015 30.1 06:00:00 18 - 12月- 2015 08:00:00 30.03 18 - 12月- 2015 10:00:00 29.9

同步TT1TT2,指明“十字路口”作为输出时间表的行时间的基础。TT只有两行,因为TT1TT2只有两个行乘以相同。

TT =同步(TT1 TT2,“十字路口”)
TT =2×3时刻表时间温度压力  ____________________ ____ ________ 12月18 - 37.3 - 30.03 - 2015 08:00:00 18 - 12月- 2015 10:00:00 39.1 - 29.9

没有必要插入或填充不匹配的行,因为TT1TT2两者都有共同的行时间数据。

将两个带有天气测量值的小时间表同步到每小时的时间向量。

载入两个小时间表。在每个时间表中,有一个行时间用于未在整点收集的数据。这两个时间表都是不规则的,这意味着连续行时间之间的时间步长是不同的。

负载irregularTT

显示时间表。TT1TT2有三行和不同的变量。

TT1
TT1=3×2时间表一次临时  ____________________ ____ 18 - 12月- 2015 37.3 08:00:00 18 - 12月- 2015 09:11:17 39.1 18 - 12月- 2015 10:00:00 42.3
TT2
TT2 =3×2时间表时间压力2015年12月18日08:00:00 29.8 2015年12月18日09:27:23 29.7 2015年12月18日10:00:00 30.3

同步TT1TT2,指明“每小时”作为输出时间表的行时间的时间步长。TT数据从TT1TT2他们的划船时间是按小时计算的。TT有没有缺失的数据指示器,它有行时间TT1TT2没有。

TT =同步(TT1 TT2,“每小时”)
TT =3×3的时间表时间温度压力  ____________________ ____ ________ 12月18 - 37.3 - 29.8 - 2015 08:00:00 18 - 12月- 2015年09:00:00南南18 - 12月- 2015 10:00:00 42.3 - 30.3

同步两个时间表。应用的意思是方法的一些时间表变量和总和方法给别人。

加载两个小时间表,其中包含波士顿和纳蒂克的天气测量值。每个时间表都有温度和降雨量的读数。

负载citiesTT波士顿
波士顿=6×3时刻表时间温度雨___________________ ________ 2016-06-09 06:03:00 59.5 0.05 2016-06-09 12:00:23 63 0.08 2016-06-09 18:02:57 61.7 0.13 2016-06-10 06:01:47 55.4 0.15 2016-06-10 12:06:00 62.3 0.87 2016-06-10 18:02:57 58.8 0.33
纳蒂克
纳蒂克=5×3的时间表时间温度雨___________________ __________ 2016-06-09 12:00:23 61.2 0.076 2016-06-09 17:59:00 60.3 0.11 2016-06-10 09:03:01 56.1 0.19 2016-06-10 12:07:03 62.17 0.72 2016-06-10 17:59:57 58.3 0.1

将测量值与每日时间同步,以产生平均气温和雨量测量值的总和。使同步将指定的方法应用于所有时间表变量。为了对不同的时间表变量应用不同的方法,索引到时间表中选择不同的变量,并调用使同步对于您使用的每个方法。

BOS =波士顿(:,“临时”);洛泰克=纳蒂克(:,“临时”);TT1 =同步(BOS,洛泰克“每天”,“的意思是”)
TT1=2×3时刻表时间Temp_BOS Temp_NTK  ___________________ ________ ________ 2016-06-09就是61.4 - 60.75 2016-06-09就是58.833 - 58.857
BOS =波士顿(:,“雨”);洛泰克=纳蒂克(:,“雨”); TT2=同步(BOS、NTK、,“每天”,“和”)
TT2 =2×3时刻表时间:2016-06-09 00:00 0.26 0.186 2016-06-10 00:00 1.35 1.01

将所有结果合并到一个时间表中,连接TT1TT2

Tt = [tt1 tt2]
TT =2×5时间表时间Temp_BOS Temp_NTK Rain_BOS Rain_NTK  ___________________ ________ ________ ________ ________ 2016-06-09就是61.4 58.857 1.35 1.01 58.833 60.75 0.26 0.186 2016-06-10就是

输入参数

全部折叠

输入时间表。

计算输出时间表的行次数的基础,指定为字符向量。newTimeBasis可以是列出的任何方法。

方法

描述

“联盟”(默认)

行并集乘以

“十字路口”

行的交点乘以

“commonrange”

Union的行时间,但超过交集的时间范围

“第一”

仅从第一个输入时间表行时间

“最后”

仅上次输入时间表的行时间

输出时间表中间隔时间的时间步长,指定为字符向量。newTimeStep可以是任何列出的时间步骤。

时间步长

描述

“年”

一年

“季度”

一个季度

“月”

一个月

“周”

一个星期

“每天”

有一天,

“每小时”

一小时

“详细”

一分钟

“第二”

一秒钟

第一行的时间TT位于时间单元的开头,该时间单元包括输入时间表中最早的行时间。行乘以in的范围TT涵盖的行时间范围TT1TT2.然而,TT可能不包括任何实际的行时间TT1TT2,因为它们可以有不在任何时间单位开始的行时间。

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

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

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

新的时间向量,指定为日期时间向量或持续时间向量。新的时间向量必须是列向量。新时期可以拥有与任何输入时间表不同的行数。

用于调整时间表数据的方法,该方法指定为字符向量、字符串标量或函数句柄。您可以使用列出的任何方法来调整输入时间表中的数据。

填补方法

当输出时间表的行时间匹配相应输入的行时间时,从每个输入时间表的行复制数据。然后,用缺失的数据指标填充输出时间表的其余元素。

要用常量而不是缺少的数据指示符填充其余元素,请使用“不变”名称-值对的论点。

方法

描述

“fillwithmissing”(默认)

用缺失的数据指标(例如,对于数值型变量)。

“fillwithconstant”

“不变”名称-值对的论点。默认值为0

最近邻方法

根据指定的方法,将数据从输入时间表的行复制到行时间最匹配的输出时间表行。输入时间表必须按行时间排序。

方法

描述

“以前”

从行时间向量的末尾开始,从输入时间表中最近的前一个邻居复制数据。如果有重复的行次数,那么“以前”最后一个副本。

“下一个”

从行时间向量的开始,从输入时间表中最近的紧随其后的邻居复制数据。如果有重复的行次数,那么“下一个”第一个副本。

“最近的”

从输入时间表中最近的邻居复制数据。

插值方法

从输入时间表相邻行中的数据值插入输出时间表中的数据值。输入时间表必须具有已排序且唯一的行时间。要控制如何在输入时间表的第一行和最后一行时间之外推断数据,请使用“EndValues”名称-值对的论点。

方法

描述

“线性”

使用线性插值。

样条的

使用分段三次样条插值。

“pchip”

使用保持形状的分段三次插值。

“makima”

使用修改的Akima三次Hermite插值。

聚合方法

根据输出时间表的行时间指定的时间容器从输入时间表的行聚合数据。每一行时间TT为时间箱的左边,下一个连续行时间为右边。默认情况下,左边包含在时间容器中。要控制时间容器中是否包含左边或右边的容器边,请使用“IncludedEdge”名称-值对的论点。

如果你指定时间向量,新时期然后新时期必须按升序排序。如果您指定输出时间表的时间基础为“第一”“最后”,则第一个或最后一个时间表的行时间必须按升序排序。

所有列出的方法都省略了年代,NaTS等缺失的数据指标,除函数.要包含缺失的数据指标,请指定函数作为在聚合数据时包含它们的函数的函数句柄。

方法

描述

“和”

对每个时间仓中的值求和。

“的意思是”

计算每个时间段内值的平均值。

“刺激”

计算每个时间段内值的乘积。

“最小值”

计算每个时间库中的最小值。

“马克斯”

计算每个时间容器中值的最大值。

“数”

计算每个时间段中的值数。

“firstvalue”

使用每个时间容器中的第一个值。

“lastvalue”

使用每个时间容器中的最后一个值。

@func

使用函数句柄指定的函数(例如,@std计算每个时间容器中值的标准差)。函数必须返回一个标量或行向量的输出参数,并且必须接受空输入。

默认的方法

默认方法等同于离开方法未指明的。

方法

描述

“默认”(默认)

用缺失的数据指示器填充空白,或者使用每个变量方法(如果它们是由VariableContinuity属性的输入时间表。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:TT =同步(TT1 TT2,新时期,“fillwithconstant”,“常数”,1)同步时间表TT1TT2然后赋值-1将元素按行添加到TT具有与相应输入时间表中的行时间不匹配的行时间。

值填充空白时,方法“fillwithconstant”,指定为逗号分隔的对,由“不变”和一个数组。默认值为0.指定的值的数据类型“不变”必须与时间表变量的数据类型兼容。

例子:TT=同步(TT1、TT2、“每小时”、“fillwithconstant”、“Constant”、“NONE”)填补空白TT使用字符向量“没有”当所有的变量都在TT包含文本。

使用插值方法时的外推方法,指定为逗号分隔对,由“EndValues”,要么“extrap”,或数组。如果指定数组,则其数据类型必须与时间表变量兼容。

方法

描述

“extrap”(默认)

的指定的方法进行推断方法输入参数

数组

通过用数组填充输入行时间范围之外的空白来推断

例子:TT=同步(TT1、TT2、‘每日’、‘上一次’、‘结束值’、1000)填补空白TT使用前面的行值TT行时间在行时间的范围内吗TT1TT2,并具有该值1000在哪里TT行次数超出这个范围。

要包含在每个时间段中的边,指定为逗号分隔的对,包括“IncludedEdge”,要么“左”“对”.每一行时间TT为时间箱的左边,下一个连续行时间为右边。

包括边缘

描述

“左”(默认)

所有的箱子都包括左边的箱子边,除了最后一个箱子,它包括了两边的边

“对”

所有箱子都包括右箱子边,除了第一个箱子,它包括了两条边

如果您指定“左”,则时间容器包括除最后一个容器外的左边,最后一个容器包括两条边。如果您指定“对”,则时间箱包括除第一个箱外的右边,第一个箱包括两条边。

例子:TT =同步(TT1 TT2,“每小时”、“说”、“IncludedEdge”,“正确的”)包括每个时间存储箱的右存储箱边缘。

兼容性的考虑

全部展开

不建议从R2018b开始

扩展功能

R2016b中引入