overlapsrange
timetable の行時間が指定した時間範囲とオーバーラップするかどうかを判別
構文
説明
は、tf = overlapsrange(TT,rangeOfTimes)TT の行時間の範囲が rangeOfTimes で指定される時間範囲と交差する場合、1 (true) を返します。それ以外の場合は 0 (false) を返します。
TT の行時間の範囲は、最小行時間と最大行時間で決まります。
例
行時間の範囲が 0 ~ 0.4 秒の timetable を作成します。
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.1))TT=5×1 timetable
Time Intensity
_______ _________
0 sec 100
0.1 sec 98.7
0.2 sec 95.2
0.3 sec 101.4
0.4 sec 99.1
範囲が 0.25 ~ 1.0 秒の time range オブジェクトを作成します。オブジェクトを作成するには、関数 timerange を使用します。入力は、関数 seconds を使用して作成できる期間です。
rangeOfTimes = timerange(seconds(0.25),seconds(1.0))
rangeOfTimes = timetable timerange subscript: Select timetable rows with times in the half-open interval: Starting at, including: 0.25 sec Ending at, but excluding: 1 sec See Select Times in Timetable.
TT の行時間が rangeOfTimes で指定される範囲とオーバーラップするかどうかを判別します。
tf = overlapsrange(TT,rangeOfTimes)
tf = logical
1
範囲が 0.7 ~ 1.0 秒の別の time range オブジェクトを作成します。関数 overlapsrange は 0 を返します。これは rangeOfTimes が TT の時間範囲の完全な外側にあるためです。
rangeOfTimes = timerange(seconds(0.7),seconds(1.0))
rangeOfTimes = timetable timerange subscript: Select timetable rows with times in the half-open interval: Starting at, including: 0.7 sec Ending at, but excluding: 1 sec See Select Times in Timetable.
tf = overlapsrange(TT,rangeOfTimes)
tf = logical
0
時間範囲が異なる 2 つの timetable を作成します。timetable は、さまざまな変数や異なる行数を持つこともできます。
Intensity = [100;98.7;95.2;101.4;99.1];
TT1 = timetable(Intensity,'TimeStep',seconds(0.1))TT1=5×1 timetable
Time Intensity
_______ _________
0 sec 100
0.1 sec 98.7
0.2 sec 95.2
0.3 sec 101.4
0.4 sec 99.1
Readings = [74;83;99]; TT2 = timetable(Readings,'TimeStep',seconds(0.5),'StartTime',seconds(0.25))
TT2=3×1 timetable
Time Readings
________ ________
0.25 sec 74
0.75 sec 83
1.25 sec 99
TT1 の行時間の範囲が TT2 の行時間の範囲とオーバーラップするかを判別します。
tf = overlapsrange(TT1,TT2)
tf = logical
1
各月初頭と半ばの物価を含む 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
関数 datetime を使用して、ある時点を指定します。ここでは 2018 年 2 月 1 日午前 0 時とします。
oneTime = datetime('2018-02-01')oneTime = datetime
01-Feb-2018
TT の行時間の範囲に oneTime が含まれるかどうかを判別します。
tf = overlapsrange(TT,oneTime)
tf = logical
1
oneTime は、TT の特定の行時間と一致する必要はありません。oneTime が TT の最小行時間と最大行時間の間の時間であれば、overlapsrange は 1 を返します。
oneTime = datetime('2018-02-28 09:23:45')oneTime = datetime
28-Feb-2018 09:23:45
tf = overlapsrange(TT,oneTime)
tf = logical
1
timetable を作成します。
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.1))TT=5×1 timetable
Time Intensity
_______ _________
0 sec 100
0.1 sec 98.7
0.2 sec 95.2
0.3 sec 101.4
0.4 sec 99.1
時間範囲を指定します。次に、その時間範囲内にある TT の行を判別します。2 番目の出力引数 whichRows は、要素が TT の行に対応する logical 配列です。行時間が時間範囲内にある各行には 1 が、行時間が時間範囲内にない各行には 0 が含まれます。
rangeOfTimes = timerange(seconds(0.1),seconds(0.35)); [tf,whichRows] = overlapsrange(TT,rangeOfTimes)
tf = logical
1
whichRows = 5×1 logical array
0
1
1
1
0
時間範囲内の行にアクセスするには、whichRows を使用して TT にインデックスを付けます。
TT2 = TT(whichRows,:)
TT2=3×1 timetable
Time Intensity
_______ _________
0.1 sec 98.7
0.2 sec 95.2
0.3 sec 101.4
入力引数
入力 timetable。TT の最小行時間と最大行時間によって時間の範囲が決まります。
時間範囲。time range オブジェクトまたは timetable として指定します。
rangeOfTimesを time range オブジェクトとして指定する場合は、関数timerangeを使用して時間範囲を作成します。timerangeへの入力として範囲の開始時間と終了時間を明示的に指定します。入力 timetable
TTにイベント テーブルが付加されている場合は、イベント フィルターを使用する time range オブジェクトを指定してoverlapsrangeを呼び出すことができます。イベント フィルターを使用した時間範囲の指定の詳細については、eventfilterを参照してください。 (R2023b 以降)
rangeOfTimesを timetable として指定する場合は、範囲の開始と終了を明示的に指定する必要はありません。overlapsrangeにより、timetable の最小行時間と最大行時間から自動的に取得されます。
単一の時間。datetime スカラーまたは duration スカラーとして指定します。
出力引数
true または false。TT の行時間の範囲が rangeOfTimes で指定された時間範囲または oneTime で指定された時点と交わる場合は logical 1、そうでない場合は logical 0 として返されます。
指定された時間範囲内の行のインデックス。logical 配列として返されます。whichRows を使用して TT にインデックスを付けることができます。
たとえば、次のコードでは、overlapsrange の 2 番目の出力を使用して、timetable TT にインデックスを付けることができます。timetable TT2 には、行時間が rangeOfTimes で指定された範囲内にある行のみが含まれます。
[tf,whichVars] = (TT,rangeOfTimes); TT2 = T(whichRows,:)
拡張機能
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2020a で導入overlapsrange を呼び出すときに、開始時間と終了時間としてイベント フィルターを使用する時間範囲を指定できます。イベント フィルターを使用するには、まずイベント テーブルを入力 timetable に付加する必要があります。イベント フィルターを指定した overlapsrange の使用の詳細については、eventfilter を参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)