overlapsrange

确定时间表行时间重叠指定的时间范围

描述

TF= overlapsrange(TTrangeOfTimes回报1真正)如果所述的行倍的范围TT相交所指定的时间范围内rangeOfTimes。否则,它返回0)。

排倍的范围TT由它的最小和最大行时间确定。

TF= overlapsrange(TT一度确定的行倍的范围内TT包含指定的时间一度

[TFwhichRows] = overlapsrange(___也返回逻辑索引指示哪些行TT是在指定的时间范围内。

例子

全部收缩

创建一个时间表,后者的行时间范围从0秒到0.4秒。

强度= [100; 98.7; 95.2; 101.4; 99.1];TT =时间表(强度,“时间步”,秒(0.1))
TT =5×1时间表时间强度_______ _________ 0秒100 0.1秒98.7 0.2秒95.2 0.3秒101.4 0.4秒99.1

创建具有一定范围的0.25-1.0秒的时间范围内的对象。要创建对象,请使用时间范围功能。它的投入是持续时间,您可以使用create功能。

rangeOfTimes = TIMERANGE(秒(0.25),秒(1.0))
rangeOfTimes =时间表TIMERANGE下标:选择时间表的行与所述半开区间倍:0.25秒,1秒)由行时间和变量类型见选择时刻表数据。

确定的排次TT重叠规定的范围rangeOfTimes

TF = overlapsrange(TT,rangeOfTimes)
TF =合乎逻辑1

创建具有一定范围的0.7-1.0秒另一时间范围对象。该overlapsrange函数返回0,因为rangeOfTimes是完全的时间范围外的TT

rangeOfTimes = TIMERANGE(秒(0.7),秒(1.0))
rangeOfTimes =时间表TIMERANGE下标:选择时间表的行与所述半开区间倍:0.7秒,1秒)由行时间和变量类型见选择时刻表数据。
TF = overlapsrange(TT,rangeOfTimes)
TF =合乎逻辑0

创建两个时间段有不同的时间范围。该时间表也可以有不同的变量和不同数量的行。

强度= [100; 98.7; 95.2; 101.4; 99.1];TT1 =时间表(强度,“时间步”,秒(0.1))
TT1 =5×1时间表时间强度_______ _________ 0秒100 0.1秒98.7 0.2秒95.2 0.3秒101.4 0.4秒99.1
读数= [74; 83; 99]。TT2 =时间表(读,“时间步”,秒(0.5),'开始时间',秒(0.25))
TT2 =3×1时间表时间测量________ 0.25秒74秒0.75 1.25 83 99秒

确定的行倍的范围内TT1重叠的行倍的范围内TT2

TF = overlapsrange(TT1,TT2)
TF =合乎逻辑1

创建一个包含价格定在开头和中间各月的时间表。

时间=日期时间({“2018年1月1日”;“2018年1月15日”;“2018年2月1日”;“2018年2月15日”;“2018年3月1日”;“2018年3月15日”});价格=兰迪([85 110],6,1);TT =时间表(时间,价格)
TT =6×1时间表时间价格___________ _____ 01-JAN-2018 106 15-JAN-2018 108 01-FEB-2018 88 15-FEB-2018 108 01-MAR-2018 101 15-MAR-2018 87

使用指定的时间点约会时间功能。这一次是在2018年2月1,午夜。

一次性=日期时间(“2018年2月1日”
一次性=约会时间01  -  2月 -  2018

确定的行倍的范围内TT包含一度

TF = overlapsrange(TT,一次性)
TF =合乎逻辑1

一度没有匹配的特定行时间TT。如果一度是的最小和最大行时间之间的任何时间TT, 然后overlapsrange返回1。

一次性=日期时间(“2018年2月28日9时23分45秒”
一次性=约会时间28月-2018 9时23分45秒
TF = overlapsrange(TT,一次性)
TF =合乎逻辑1

创建一个时间表。

强度= [100; 98.7; 95.2; 101.4; 99.1];TT =时间表(强度,“时间步”,秒(0.1))
TT =5×1时间表时间强度_______ _________ 0秒100 0.1秒98.7 0.2秒95.2 0.3秒101.4 0.4秒99.1

指定时间范围内。然后确定哪些行TT是该时间范围内。第二输出参数,whichRows是逻辑数组,其元素对应于在各行TT。它包含了1对于每一行,其行时间是时间范围内,并且0每一行其行时间是没有的。

rangeOfTimes = TIMERANGE(秒(0.1),秒(0.35));[TF,whichRows] = overlapsrange(TT,rangeOfTimes)
TF =合乎逻辑1
whichRows =5X1逻辑阵列0 1 1 1 0

到该时间范围内访问的行中,索引TT运用whichRows

TT2 = TT(whichRows,:)
TT2 =3×1时间表时间强度_______ _________ 0.1秒98.7 0.2秒95.2 0.3秒101.4

输入参数

全部收缩

输入时间表。的最小和最大行时间TT确定其范围的时候。

时间范围,指定为时间范围对象或时间表。

  • 如果使用的时间范围的对象,然后使用它创建时间范围功能,以及明确指定范围的开始和结束时间作为输入来时间范围

  • 如果您使用的时间表,那么你就需要明确指定范围的开始和结束。overlapsrange从时间表的最小和最大行时间自动获取它们。

一个单一的时间,指定为约会时间要么持续时间标量。

输出参数

全部收缩

真或假,返回逻辑1如果排倍的范围TT相交所指定的时间范围内rangeOfTimes或在时间点指定由一度和逻辑0除此以外。

在指定的时间范围内的行的索引,返回一个逻辑阵列。你可以索引TT运用whichRows

例如,在这个代码,你可以使用的第二输出overlapsrange索引到时间表TT。时间表TT2仅包括那些行,其行时间是由指定的范围内rangeOfTimes

[TF,whichVars] =(TT,rangeOfTimes);TT2 = T(whichRows,:)

介绍了在R2020a