Main Content

timerange

timetable 行の添字の時間範囲

説明

S = timerange(startTime,endTime) は、timetable から時間範囲内の行を選択する添字を作成します。S は、startTimeendTime で指定された時間間隔内の時間をもつすべての行を選択します。これは startTime を含みますが、endTime を含みません。言い換えれば、時間間隔は半開区間です。startTimeendTime は datetime スカラーまたは duration スカラーであるか、日付と時刻を指定する文字ベクトルまたは string です。

startTimeendTime が datetime 値である場合、S を使用して添字を指定できるのは、行時間が datetime 値である timetable に限られます。同様に、startTimeendTime が duration 値である場合、S を使用して添字を指定できるのは、行時間が duration 値である timetable に限られます。

S = timerange(startTime,endTime,intervalType) は、intervalType で指定された間隔のタイプで添字を作成します。たとえば、intervalType'closed' の場合、S が指定する時間範囲には startTimeendTime の両方が含まれます。

S = timerange(startPeriod,endPeriod,datetimeUnit) は、datetimeUnit で指定された日付や時刻のコンポーネントを使用して、startPeriod から endPeriod までの期間にわたり添字を作成します。たとえば、datetimeUnit'months' の場合、S には startPeriod のコンポーネントである月初と、endPeriod の月末が含まれます。入力 startPeriod および endPeriod は datetime スカラーとするか、あるいはテキストである場合なら、日付と時刻を指定する文字ベクトルまたは string とすることができます。

S = timerange(timePeriod,datetimeUnit) は、datetimeUnit で指定された日付または時刻のコンポーネントを使用して、timePeriod の開始から終了までにわたる添字を作成します。たとえば、datetimeUnit'day' の場合、S には timePeriod のコンポーネントである日の開始と終了が含まれます。入力 timePeriod は、datetime スカラーにすることができ、テキストの場合は期間を指定する文字ベクトルまたは string にすることができます。

S = timerange(startEF,endEF) はイベント フィルターのペアを使用して行の添字を作成します。イベント フィルターを使用するには、添字を作成する timetable にはイベント テーブルが付加されている必要があります。イベント フィルターを使用した時間範囲の指定の詳細については、eventfilter を参照してください。 (R2023a 以降)

すべて折りたたむ

気温、気圧、風速、方向の測定値とともに時間を含む timetable を作成します。時間が指定された時間間隔内にある行を選択します。

Time = datetime({'12/18/2015 08:00:00';'12/18/2015 10:00:0';'12/18/2015 12:00:00';...
                 '12/18/2015 14:00:00';'12/18/2015 16:00:00';'12/18/2015 18:00:00'});
Temp = [37.3;39.1;42.3;45.7;41.2;39.9];
Pressure = [30.1;30.03;29.9;29.8;30.0;29.9];
WindSpeed = [13.4;6.5;7.3;8.5;9.2;4.3];
WindDirection = categorical({'NW';'N';'NW';'NW';'NNW';'N'});
TT = timetable(Time,Temp,Pressure,WindSpeed,WindDirection)
TT=6×4 timetable
            Time            Temp    Pressure    WindSpeed    WindDirection
    ____________________    ____    ________    _________    _____________

    18-Dec-2015 08:00:00    37.3      30.1        13.4            NW      
    18-Dec-2015 10:00:00    39.1     30.03         6.5            N       
    18-Dec-2015 12:00:00    42.3      29.9         7.3            NW      
    18-Dec-2015 14:00:00    45.7      29.8         8.5            NW      
    18-Dec-2015 16:00:00    41.2        30         9.2            NNW     
    18-Dec-2015 18:00:00    39.9      29.9         4.3            N       

12/18/2015 08:00:0012/18/2015 12:00:00 の時間範囲を指定します。

S = timerange('12/18/2015 08:00:00','12/18/2015 12:00:00')
S = 
	timetable timerange subscript:

		Select timetable rows with times in the half-open interval:
		[18-Dec-2015 08:00:00, 18-Dec-2015 12:00:00)

S で指定される範囲内の時間をもつ行を選択します。出力 timetable には時間範囲の開始時間が含まれますが、終了時間は含まれません。

TT2 = TT(S,:)
TT2=2×4 timetable
            Time            Temp    Pressure    WindSpeed    WindDirection
    ____________________    ____    ________    _________    _____________

    18-Dec-2015 08:00:00    37.3      30.1        13.4            NW      
    18-Dec-2015 10:00:00    39.1     30.03         6.5            N       

timetable を作成します。

Time = [seconds(1):seconds(1):seconds(5)];
TT = timetable(Time',[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

2 〜 4 秒の閉区間の時間間隔を指定します。

S = timerange(seconds(2),seconds(4),'closed')
S = 
	timetable timerange subscript:

		Select timetable rows with times in the closed interval:
		[2 sec, 4 sec]

S で指定される範囲内の時間をもつ行を選択します。閉区間には開始時間と終了時間の両方が含まれます。

TT2 = TT(S,:)
TT2=3×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   

各月半ばの物価を含む timetable を作成します。

Time = datetime(2018,1:12,15)';
Price = randi([85 110],12,1);
TT = timetable(Time,Price)
TT=12×1 timetable
       Time        Price
    ___________    _____

    15-Jan-2018     106 
    15-Feb-2018     108 
    15-Mar-2018      88 
    15-Apr-2018     108 
    15-May-2018     101 
    15-Jun-2018      87 
    15-Jul-2018      92 
    15-Aug-2018      99 
    15-Sep-2018     109 
    15-Oct-2018     110 
    15-Nov-2018      89 
    15-Dec-2018     110 

'quarters' を時間単位に使用して、時間範囲を指定します。時間範囲が開始されるのは、2018 年 1 月 1 日を含む四半期です。範囲が終了するのは、2018 年 5 月 1 日を含む四半期です。時間範囲には四半期全体が含められます。つまり、この範囲が終了するのは 2018 年 7 月 1 日の始まる直前です。

S = timerange('2018-01-01','2018-05-01','quarters')
S = 
	timetable timerange subscript:

		Select timetable rows with times in: QUARTERS
		  Starting at, including:   01-Jan-2018 00:00:00
		  Ending at, but excluding: 01-Jul-2018 00:00:00

TT の行を選択します。出力 timetable には、2018 年の 5 月 15 日と 6 月 15 日の行が含められますが、7 月 15 日の行や、2018 年の最初の 2 四半期外の時間をもつ行は含められません。

TT(S,:)
ans=6×1 timetable
       Time        Price
    ___________    _____

    15-Jan-2018     106 
    15-Feb-2018     108 
    15-Mar-2018      88 
    15-Apr-2018     108 
    15-May-2018     101 
    15-Jun-2018      87 

各月初頭と半ばの物価を含む timetable を作成します。

Time = 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 = timetable(Time,Price)
TT=6×1 timetable
       Time        Price
    ___________    _____

    01-Jan-2018     106 
    15-Jan-2018     108 
    01-Feb-2018      88 
    15-Feb-2018     108 
    01-Mar-2018     101 
    15-Mar-2018      87 

'months' を時間単位に使用して、時間範囲を指定します。最初の入力が 2018 年 2 月の日付であるため、時間範囲は 2 月全体にわたることになります。

S = timerange('2018-02-01','months')
S = 
	timetable timerange subscript:

		Select timetable rows with times in: MONTHS
		  Starting at, including:   01-Feb-2018 00:00:00
		  Ending at, but excluding: 01-Mar-2018 00:00:00

TT の行を選択します。

TT(S,:)
ans=2×1 timetable
       Time        Price
    ___________    _____

    01-Feb-2018      88 
    15-Feb-2018     108 

入力引数

すべて折りたたむ

時間範囲の開始時間と終了時間。datetime スカラーまたは duration スカラーのペア、あるいは文字ベクトルまたは string スカラーのペアとして指定します。

startTimeendTime が文字ベクトルまたは string スカラーの場合、これらは日付と時刻を指定します。startTimeendTime の形式が timerange で認識されない場合は、関数 datetime または duration を使用して datetime または duration の値に変換します。datetime または duration'InputFormat' 引数を使用して形式を指定します。

片側のみ定められた時間範囲を作成するには、開始時間または終了時間に '-inf' または 'inf' を使用します。構文 timerange('-inf',endTime) は、endTime より前のすべての日付と時刻を指定します。また、timerange(startTime,'inf')startTime 後のすべての日付と時刻を指定します。

時間範囲の区間のタイプ。文字ベクトルまたは string スカラーとして指定します。次の表に時間範囲の区間のタイプを示します。

区間のタイプ

説明

'open'

startTime < rowTime かつ rowTime < endTime の開区間を満たす時間をもつ行を選択します。

'closed'

startTime <= rowTime かつ rowTime <= endTime の閉区間を満たす時間をもつ行を選択します。

'openleft'

startTime < rowTime かつ rowTime <= endTime の半開区間を満たす時間をもつ行を選択します。

'openright' (既定)

startTime <= rowTime かつ rowTime < endTime の半開区間を満たす時間をもつ行を選択します。

'closedright'

'openleft' と等価です。

'closedleft'

'openright' と等価です。

開始と終了の期間。datetime スカラーのペア、あるいは文字ベクトルまたは string スカラーのペアとして指定します。

startPeriodendPeriod が文字ベクトルまたは string スカラーの場合、これらは日付と時刻を指定します。startPeriodendPeriod の形式が timerange で認識されない場合は、関数 datetime を使用して datetime の値に変換します。datetime'InputFormat' 引数を使用して形式を指定します。

片側のみ定められた時間範囲を作成するには、開始または終了の期間に '-inf' または 'inf' を使用します。たとえば、構文 timerange('-inf',endPeriod,'days') は、endPeriod の日の終了より前にすべての日付と時刻を指定します。構文 timerange(startTime,'inf','days') は、startPeriod の日の開始より後にすべての日付と時刻を指定します。

期間。datetime スカラー、文字ベクトル、または string スカラーとして指定します。timePeriod が文字ベクトルまたは string スカラーである場合、関数 datetime による datetime 値への変換が可能な日付と時刻が指定されます。

期間のコンポーネント。文字ベクトルまたは string スカラーとして指定します。次の表は、指定可能なコンポーネントを示しています。

メモ: datetimeUnit は、他の入力引数で datetime 値を指定した場合にのみ指定でき、duration 値を指定した場合は指定できまません。

日付または時刻のコンポーネント

説明

'years'

year(startPeriod) <= year(rowTime) かつ year(rowTime) <= year(endPeriod) であるような時間をもつ行を選択します。

'quarters'

quarter(startPeriod) <= quarter(rowTime) かつ quarter(rowTime) <= quarter(endPeriod) であるような時間をもつ行を選択します。

'months'

month(startPeriod) <= month(rowTime) かつ month(rowTime) <= month(endPeriod) であるような時間をもつ行を選択します。

'weeks'

week(startPeriod) <= week(rowTime) かつ week(rowTime) <= week(endPeriod) であるような時間をもつ行を選択します。

'days'

day(startPeriod) <= day(rowTime) かつ day(rowTime) <= day(endPeriod) であるような時間をもつ行を選択します。

'hours'

hour(startPeriod) <= hour(rowTime) かつ hour(rowTime) <= hour(endPeriod) であるような時間をもつ行を選択します。

'minutes'

minute(startPeriod) <= minute(rowTime) かつ minute(rowTime) <= minute(endPeriod) であるような時間をもつ行を選択します。

'seconds'

second(startPeriod) <= second(rowTime) かつ second(rowTime) <= second(endPeriod) であるような時間をもつ行を選択します。

R2023a 以降

開始と終了のイベント フィルター。イベント フィルターのペアとして指定します。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2016b で導入

すべて展開する