主要内容

containsrange

确定时间表行时间是否包含指定的时间范围

描述

例子

特遣部队= containsrange (TTrangeOfTimes返回1真正的)如果行乘以的范围TT指定的时间范围rangeOfTimes.否则,它将返回0).

行乘以TT由其最小和最大行时间决定。

例子

特遣部队= containsrange (TT曾经的确定是否行乘以TT包含指定的时间曾经的

例子

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

rangeOfTimes = timerange(秒(0.1),秒(0.35))
rangeOfTimes =时间表时间范围下标:选择时间在半开间隔内的时间表行:[0.1秒,0.35秒)参见Select时间表数据by Row Time and Variable Type。

确定行乘以TT包含所指定的范围rangeOfTimes

rangeOfTimes tf = containsrange (TT)
tf =逻辑1

创建另一个时间范围对象,范围为0.1-0.9秒。对于这个范围containsrange函数返回0,因为0.9秒超出了时间范围TT

rangeOfTimes = timerange(秒(0.1),秒(0.9))
rangeOfTimes =时间表时间范围下标:选择时间在半开间隔内的时间表行:[0.1秒,0.9秒]参见Select时间表数据by Row Time and Variable Type。
rangeOfTimes tf = containsrange (TT)
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.15),“开始时间”秒(0.05))
TT2 =3×1的时间表时间读数________ ________ 0.05秒74 0.2秒83 0.35秒99

确定是否行乘以的范围TT1包含的行乘以的范围TT2

tf = containsrange (TT1 TT2)
tf =逻辑1

另一方面,行乘以的范围TT2不包含范围TT1

tf = containsrange (TT2 TT1)
tf =逻辑0

创建一个时间表,包含在每个月的开始和中间设置的价格。

时间= 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 =时间表(时间、价格)
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日午夜。

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

确定是否行乘以的范围TT包含曾经的

曾经的tf = containsrange (TT)
tf =逻辑1

曾经的不需要匹配特定的行时间的TT.如果曾经的在最小和最大行的时间之间有任何时间吗TT,然后containsrange返回1。

前= datetime (“2018-02-28 09:23:45”
曾经的=datetime2018年- 2月28日09:23:45
曾经的tf = containsrange (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] = containsrange (TT, rangeOfTimes)
tf =逻辑1
whichRows =5 x1逻辑阵列0 1 1 1 0

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

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

输入参数

全部折叠

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

时间段,指定为时间段对象或时间表。

  • 如果使用时间范围对象,则使用timerange函数,并将范围的开始和结束时间显式指定为timerange

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

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

输出参数

全部折叠

True或false,作为逻辑返回1如果行乘以TT指定的时间范围rangeOfTimes或者时间点曾经的,并且逻辑上0否则。

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

例如,在这段代码中,您可以使用的第二个输出containsrange列入时间表TT.的时间表TT2仅包含该行时间在指定范围内的行rangeOfTimes

(tf, whichVars) = (TT, rangeOfTimes);TT2 = T (whichRows:)

扩展功能

介绍了R2020a