主要内容

withinrange

确定时刻表行时间是否在指定的时间范围内

描述

例子

特遣部队= withinrange (TTrangeOfTimes返回1真的),如果行的范围乘以TT是否完全在由rangeOfTimes.否则,它将返回0).

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

例子

特遣部队= withinrange (TT一度返回1如果是行时间TT所有的时间都是相同的,都等于一度

例子

特遣部队whichRows] =在antange(___也返回逻辑索引,指示的行TT在指定的时间范围内。

例子

全部折叠

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

强度= [100;98.7;95.2;101.4;99.1);TT =时间表(强度,'timestep',秒(0.1))
tt =5×1的时间表时间强度_______ _________ 0秒100 0.1秒98.7 0.2秒95.2 0.3秒101.4 0.4秒99.1

创建一个时间范围对象,范围为-1至1秒钟。要创建对象,请使用时间范围函数。它的输入是持续的,您可以使用它使用函数。

Rangeoffimes = timerange(秒(-1),秒(1))
rangeOfTimes =时间表时间范围下标:选择时间表行,时间在半开间隔:[-1 sec, 1 sec)参见按行时间和变量类型选择时间表数据。

确定是否是行时间TT在指定的范围内rangeOfTimes

TF =在antange(tt,范围内)
tf =逻辑1

创建另一个时间范围对象,范围为0.1-0.9秒。的withinrange函数返回0,因为的第一行时间TT不是在rangeOfTimes

RangeOffimes = timerange(秒(0.1),秒(0.9))
Arrangeoftimes =时间表TIMERANGE下标:在半开interval中选择时间行:[0.1秒,0.9秒)请参阅按行时间和变量类型选择时间线数据。
TF =在antange(tt,范围内)
tf =逻辑0

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

强度= [100;98.7;95.2;101.4;99.1);tt1 =时间表(强度,'timestep',秒(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;75;87;93;92);TT2 =时间表(阅读,'timestep',秒(0.1),“开始时间”秒(-0.1))
TT2 =7×1的时间表时间读数________ _________0.1秒74 0秒83 0.1秒99 0.2秒75 0.3秒87 0.4秒93 0.5秒92

确定行时间的范围是否在TT1.是否在行时间的范围内TT2.

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

另一方面,行乘以的范围TT2.不在范围内TT1.

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

创建一个在每个月开发和中间设置的价格的时间表。

时间= datetime ({'2018-01-01'“2018-01-15”'2018-02-01''2018-02-15'“2018-03-01”“2018-03-15”});Price = 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

使用该点及时指定点约会时间函数。这次是2018年2月1日的午夜。

前= datetime ('2018-02-01'
曾经的=约会时间01 - 2月- 2018

比较行时间TT一度.虽然一排时间发生得等于一度另一行的时间是不相等的。因此,withinrange函数返回0。

tf =在antange(tt,oneTime)
tf =逻辑0

时间表可以有重复的行时间。改变所有的行乘以TT到相同的价值和呼叫withinrange再次。现在,所有行时间都等于一度, 和withinrange返回1

TT.Time(1:结束)=前
tt =6×1时间表时间价格___________ _____ 01-2月-2018 106 01-Feb-2018 108 01-Feb-2018 88 01-Feb-2018 108 01-Feb-2018 101 01-Feb-2018 87
tf =在antange(tt,oneTime)
tf =逻辑1

创建时间表。

强度= [100;98.7;95.2;101.4;99.1);TT =时间表(强度,'timestep',秒(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] = withinrange (TT, rangeOfTimes)
tf =逻辑0
whichRows =5x1逻辑阵列0 1 1 1 0

若要访问该时间范围内的行,请创建into索引TT使用whichRows

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

输入参数

全部折叠

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

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

  • 如果使用时间范围对象,则使用该目标时间范围功能,并将范围的开始和结束时间明确指定为输入时间范围

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

一段时间,指定为一个约会时间或者持续时间标量。

输出参数

全部折叠

真或假,作为逻辑返回1如果行的范围乘以TT是否完全在由rangeOfTimes,逻辑性强0否则。

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

例如,在这段代码中,可以使用的第二个输出withinrange编入时间表TT.的时间表TT2.仅包括行时间在指定范围内的那些行rangeOfTimes

[tf,whenvars] =(tt,范围);tt2 = t(哪个,:)
介绍了R2020a