containsrange
構文
説明
は、tf
= containsrange(TT
,rangeOfTimes
)TT
の行時間の範囲に rangeOfTimes
で指定された時間範囲が含まれる場合は 1
(true
) を返します。それ以外の場合は 0
(false
) を返します。
TT
の行時間の範囲は、最小行時間と最大行時間で決まります。
例
timetable に時間範囲が含まれるかどうかの判別
行時間の範囲が 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.1 ~ 0.35 秒の time range オブジェクトを作成します。オブジェクトを作成するには、関数 timerange
を使用します。入力は、関数 seconds
を使用して作成できる期間です。
rangeOfTimes = timerange(seconds(0.1),seconds(0.35))
rangeOfTimes = timetable timerange subscript: Select timetable rows with times in the half-open interval: [0.1 sec, 0.35 sec) See Select Times in Timetable.
TT
の行時間に rangeOfTimes
で指定された範囲が含まれるかどうかを判別します。
tf = containsrange(TT,rangeOfTimes)
tf = logical
1
範囲が 0.1 ~ 0.9 秒の別の time range オブジェクトを作成します。この範囲の場合、0.9 秒は TT
の時間範囲外であるため、関数 containsrange
は 0 を返します。
rangeOfTimes = timerange(seconds(0.1),seconds(0.9))
rangeOfTimes = timetable timerange subscript: Select timetable rows with times in the half-open interval: [0.1 sec, 0.9 sec) See Select Times in Timetable.
tf = containsrange(TT,rangeOfTimes)
tf = logical
0
timetable の時間範囲の比較
時間範囲が異なる 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.15),'StartTime',seconds(0.05))
TT2=3×1 timetable
Time Readings
________ ________
0.05 sec 74
0.2 sec 83
0.35 sec 99
TT1
の行時間の範囲に TT2
の行時間の範囲が含まれるかどうかを判別します。
tf = containsrange(TT1,TT2)
tf = logical
1
これに対して、TT2
の行時間の範囲には TT1
の範囲が含まれていません。
tf = containsrange(TT2,TT1)
tf = logical
0
timetable に時間が含まれるかどうかの判別
各月初頭と半ばの物価を含む 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 = containsrange(TT,oneTime)
tf = logical
1
oneTime
は、TT
の特定の行時間と一致する必要はありません。oneTime
が TT
の最小行時間と最大行時間の間の時間であれば、containsrange
は 1 を返します。
oneTime = datetime('2018-02-28 09:23:45')
oneTime = datetime
28-Feb-2018 09:23:45
tf = containsrange(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] = containsrange(TT,rangeOfTimes)
tf = logical
1
whichRows = 5x1 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
入力引数
TT
— 入力 timetable
timetable
入力 timetable。TT
の最小行時間と最大行時間によって時間の範囲が決まります。
rangeOfTimes
— 時間範囲
time range オブジェクト | timetable
時間範囲。time range オブジェクトまたは timetable として指定します。
time range オブジェクトを使用する場合は、関数
timerange
を使用して作成し、timerange
への入力として範囲の開始時間と終了時間を明示的に指定します。timetable を使用する場合は、範囲の開始と終了を明示的に指定する必要はありません。
containsrange
により、timetable の最小行時間と最大行時間から自動的に取得されます。
oneTime
— 単一の時間
datetime
スカラー | duration
スカラー
単一の時間。datetime
スカラーまたは duration
スカラーとして指定します。
出力引数
tf
— true または false
1
| 0
true または false。TT
の行時間の範囲に rangeOfTimes
で指定された時間範囲または oneTime
で指定された時点が含まれる場合は logical 1
、それ以外の場合は logical 0
として返されます。
whichRows
— 指定された時間範囲内の行のインデックス
logical 配列
指定された時間範囲内の行のインデックス。logical 配列として返されます。whichRows
を使用して TT
にインデックスを付けることができます。
たとえば、次のコードでは、containsrange
の 2 番目の出力を使用して、timetable TT
にインデックスを付けることができます。timetable TT2
には、行時間が rangeOfTimes
で指定された範囲内にある行のみが含まれます。
[tf,whichVars] = (TT,rangeOfTimes); TT2 = T(whichRows,:)
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2020a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)