主要内容

overlapsrange

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

描述

例子

特遣部队= overlapsrange (TTrangeOfTimes返回1真正的的行次数的范围TT所指定的时间范围相交rangeOfTimes.否则,它会返回0).

的行次数的范围TT由其最小和最大行时间决定。

例子

特遣部队= overlapsrange (TT曾经的的行次数的范围是否TT包含指定的时间曾经的

例子

特遣部队whichRows=重叠(___还返回逻辑索引,指示哪些行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秒的时间范围对象。要创建对象,请使用timerange函数。它的输入是持续时间,您可以使用函数。

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 = schedule 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秒83 1.25秒99

确定行时间的范围TT1重叠行时间的范围TT2

tf = overlapsrange(TT1,TT2)
tf =逻辑1

制定一个时间表,包括每月初和中旬的价格。

时间= datetime({“2018-01-01”“2018-01-15”“2018-02-01”“2018-02-15”“2018-03-01”“2018-03-15”});价格= randi([85 110],6,1);时间表(时间,价格)
TT =6×1的时间表时间价格___________ _____ 01- 1- 2018 106 15- 1- 2018 108 01- 2 -2018 88 15- 2 -2018 108 01- 3 -2018 101 15- 3 -2018 87

方法指定一个时间点datetime函数。现在是2018年2月1日午夜。

oneTime = datetime(“2018-02-01”
曾经的=datetime01 - 2月- 2018

确定行时间的范围TT包含曾经的

tf = overlapsrange(TT,oneTime)
tf =逻辑1

曾经的是不是一定要匹配某一行时间的TT.如果曾经的的最小行次数和最大行次数之间是否有时间TT,然后overlapsrange返回1。

oneTime = datetime(“2018-02-28 09:23:45”
曾经的=datetime2018年- 2月28日09:23:45
tf = overlapsrange(TT,oneTime)
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(seconds(0.1),seconds(0.35));[tf, whererows] = overlapsrange(TT,rangeOfTimes)
tf =逻辑1
whichRows =5x1逻辑阵列0 1 1 10 0

要访问时间范围内的行,请索引到TT使用whichRows

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

输入参数

全部折叠

输入时间表。的最小和最大行次数TT确定它的时间范围。

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

  • 方法创建时间范围对象timerange函数,并将范围的开始和结束时间显式指定为的输入timerange

  • 如果使用时间表,则不需要显式指定范围的开始和结束。overlapsrange从时间表的最小和最大行时间自动获取它们。

一个单独的时间,指定为datetime持续时间标量。

输出参数

全部折叠

真或假,按逻辑返回1的行次数的范围TT所指定的时间范围相交rangeOfTimes或者是由曾经的,以及符合逻辑的0否则。

指定时间范围内的行索引,作为逻辑数组返回。你可以索引到TT使用whichRows

例如,在此代码中,您可以使用的第二个输出overlapsrange编入时间表TT.的时间表TT2只包含行时间在指定范围内的那些行rangeOfTimes

[tf,whichVars] = (TT,rangeOfTimes);TT2 = T(whererows,:)
在R2020a中引入