このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
timetable
タイムスタンプ付きの行と、異なる型の変数をもつ timetable 配列
説明
timetable
は table 型の一種で、各行に時刻が関連付けられます。table と同様に、timetable は行数が同じである限り、データ型およびサイズの異なる列方向データ変数を格納できます。また、timetable には、1 つ以上の timetable でタイムスタンプ付きデータを整列させ、結合し、計算するための、時間に特化した関数が用意されています。
timetable の "行時間" は、行にラベルを付ける datetime
値または duration
値です。行時間と変数によって、timetable にインデックスを付けます。timetable にインデックスを付けるには、小かっこ ()
を使用してサブテーブルを返すか、または中かっこ {}
を使用して内容を抽出します。名前を使用して変数と行時間のベクトルを参照できます。インデックス方法の詳細については、timetable での時間の選択およびtable 内のデータへのアクセスを参照してください。
timetable のイベントを検出してラベルを付けるには、イベント テーブルを付加します。イベント テーブルは、イベントが発生した時間を、イベント ラベルおよびイベントに関する他の情報とともにリストします。詳細については、eventtable
を参照してください。 (R2023a 以降)
作成
timetable を作成する際は、関数 readtimetable
を使用してファイルからデータを table に読み取ったり、他のデータ型の変数を変換したりできます。
次のように変換してください。
配列の場合、関数
array2timetable
を使用します。table の場合、関数
table2timetable
を使用します。timeseries
オブジェクトの場合、関数timeseries2timetable
を使用します。
Simulink® ユーザーは、関数 extractTimetable
(Simulink) を使用して、Simulink.SimulationData.Dataset
オブジェクトからデータを抽出できます。
あるいは、以下に説明する関数 timetable
を使用することもできます。入力配列から timetable を作成するか、値を後で代入する変数用にスペースを事前に割り当てます。行時間を指定する場合は、行時間の入力ベクトルを使用するか、サンプル レートまたはタイム ステップを使用して行時間を作成できます。
構文
説明
既存の変数の結合
TT = timetable(
は、入力データ変数 rowTimes
,var1,...,varN
)var1,...,varN
と時間ベクトル rowTimes
から timetable を作成します。行数が同じである限り、データ変数には異なるサイズとデータ型を使用できます。rowTimes
も、同じ行数をもつ datetime
ベクトルまたは duration
ベクトルでなければなりません。
TT = timetable(
は、var1,...,varN
,'RowTimes',rowTimes
)rowTimes
を TT
の行時間のソースとして指定します。この構文を使用する場合、TT
の行時間ベクトルの名前は必ず Time
となります。これは、rowTimes
が別の名前をもつワークスペース変数であっても同様です。
TT = timetable(
は、サンプル レート var1,...,varN
,'SampleRate',Fs
)Fs
を使用して等間隔の行時間を計算します。Fs
は 1 秒あたりのサンプル数 (Hz) を指定する正の数値スカラーです。最初の行時間はゼロ秒です。
TT = timetable(
はタイム ステップ var1,...,varN
,'TimeStep',dt
)dt
を使用して等間隔の行時間を計算します。dt
は連続する行時間の間の時間の長さを指定する duration
または calendarDuration
の値です。最初の行時間はゼロ秒です。
スペースの事前割り当て
名前または開始時間の設定
TT = timetable(___,
は、名前と値のペアの引数を 1 つ以上使用して追加の入力引数を指定します。たとえば、名前と値のペア Name,Value
)'VariableNames'
を使用して変数名を指定することができます。また、名前と値のペア 'StartTime'
をサンプル レートまたはタイム ステップと共に使用して、開始時間を指定することもできます。この構文では、前述の構文の入力引数のいずれかを使用できます。
入力引数
var1,...,varN
— 入力変数
配列
入力変数。同じ数の行をもつ配列として指定します。行数が同じである限り、入力変数には異なるサイズとデータ型を使用できます。
一般的な入力変数は、数値配列、logical 配列、string 配列、構造体配列、および cell 配列です。
入力変数には、配列のオブジェクトを使用することもできます。この配列は var(index1,...,indexN)
の形式のインデックスをサポートしていなければなりません。index1
は変数 var
の行に対応する数値または logical ベクトルです。さらにこの配列は、vertcat
メソッドと、dim
引数をもつ size
メソッドの両方を実装していなければなりません。
rowTimes
— timetable の行に関連付けられた時間
datetime
ベクトル | duration
ベクトル
timetable の行に関連付けられた時間。datetime
ベクトルまたは duration
ベクトルとして指定します。各時間は、出力 timetable TT
の行にラベルを付けます。rowTimes
の時間値は、一意であったり、並べ替えられていたり、規則的な値である必要はありません。
sz
— 事前に割り当てられた timetable のサイズ
2 要素の数値ベクトル
事前に割り当てられた timetable のサイズ。2 要素の数値ベクトルとして指定します。sz
の最初の要素は行数を指定し、2 番目の要素は timetable 変数の数を指定します。
varTypes
— 事前に割り当てられた変数のデータ型
文字ベクトルの cell 配列 | string 配列
事前に割り当てられた変数のデータ型。文字ベクトルの cell 配列または string 配列として指定します。varTypes
で指定する型の数は、sz
の 2 番目の要素で指定する変数の数と等しくなければなりません。
varTypes
には、次の表に示す名前を含む、任意のデータ型の名前を格納できます。
データ型名 | 各要素の初期値 |
---|---|
| 倍精度または単精度の |
| 倍精度または単精度の |
| 符号付き 8、16、32、64 ビットの整数 |
| 符号なし 8、16、32、64 ビットの整数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| フィールドをもたないスカラー構造体 |
| 変数をもたない table |
| 変数をもたず、行時間に |
他すべてのデータ型で、初期値は、配列の未代入の要素を "埋める" ためにその型またはクラスで使用される値となります。
データ型として 'char'
を指定した場合、timetable
は対応する変数を文字配列ではなく文字ベクトルの cell 配列として事前に割り当てます。文字配列である table 変数または timetable 変数は作成しないことをお勧めします。table または timetable 内のテキスト データを扱う際には、string 配列または categorical 配列を使用することを検討してください。
Fs
— サンプル レート
正の数値スカラー
サンプル レート。正の数値スカラーとして指定します。Fs
は 1 秒あたりのサンプル数 (Hz) を指定します。
dt
— タイム ステップ
duration
スカラー | calendarDuration
スカラー
タイム ステップ。duration
スカラーまたは calendarDuration
スカラーとして指定します。
dt
を calendarDuration
値として指定し、さらに名前と値のペアの引数 'StartTime'
を指定した場合、'StartTime'
の値は datetime
スカラーでなければなりません。
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: TT = timetable(rowTimes,T,W,'VariableNames',{'Temperature','WindSpeed'})
は、入力配列 T
および W
から timetable を作成し、対応する timetable 変数の名前を Temperature
および WindSpeed
に設定します。
VariableNames
— 変数名
文字ベクトルの cell 配列 | string 配列
変数名。要素が空ではない一意の文字ベクトルの cell 配列または string 配列として指定します。
配列内の名前の数は、timetable 変数の数と等しくなければなりません。
関数
timetable
も、timetable のVariableNames
プロパティに変数名を格納します。変数名には、スペースや非 ASCII 文字を含め、どんな Unicode® 文字でも使用することができます。
DimensionNames
— 次元名
文字ベクトルの 2 要素 cell 配列 | 2 要素 string 配列
R2021a 以降
次元名。要素が空ではない一意の文字ベクトルの 2 要素 cell 配列または 2 要素 string 配列として指定します。
関数
timetable
も、timetable のDimensionNames
プロパティに次元名を保存します。次元名には、スペース、非 ASCII 文字を含む任意の Unicode 文字を使用できます。
R2021a より前は、DimensionNames
プロパティの設定によってのみ、次元名を指定できます。
StartTime
— 開始時間
datetime
スカラー | duration
スカラー
開始時間。datetime
スカラーまたは duration
スカラーとして指定します。開始時間は、timetable の最初の行の行時間でもあります。
'StartTime'
を指定できるのは、名前と値のペアの引数 'SampleRate'
または 'TimeStep'
も指定する場合のみです。
開始時間が
datetime
値の場合、TT
の行時間はdatetime
値になる。開始時間が
duration
値の場合、行時間は duration になる。タイム ステップ
dt
がcalendarDuration
値の場合、開始時間はdatetime
値でなければならない。
プロパティ
timetable メタデータ プロパティにアクセス
timetable に含まれるメタデータ プロパティは、timetable、その行時間、およびその変数を説明しています。これらのプロパティにアクセスするには、構文
を使用します。ここで、timetableName
.Properties.PropertyName
はプロパティの名前です。たとえば、timetable PropertyName
TT
の変数の名前には、TT.Properties.VariableNames
プロパティによってアクセスできます。
構文
を使用すると、メタデータ プロパティの概要を返すことができます。timetableName
.Properties
timetable では、ドット構文を使用して timetable のデータに直接アクセスできるため、Properties
プロパティによってメタデータにアクセスすることができます。たとえば、timetable TT
に Var1
という変数がある場合、構文 TT.Var1
を使用してこの変数の値にアクセスできます。
timetable メタデータ
DimensionNames
— 次元名
{'Time','Variables'}
(既定値) | 文字ベクトルの 2 要素 cell 配列 | 2 要素 string 配列
次元名。要素が空ではない一意の文字ベクトルの 2 要素 cell 配列または 2 要素 string 配列として指定します。
次元名には、スペース、非 ASCII 文字を含む任意の Unicode 文字を使用できます。
string 配列を使用してこのプロパティを指定した場合、文字ベクトルの cell 配列に変換されて保存されます。
2 つの次元名を使用して timetable のデータにアクセスすることができます。
ドット構文と最初の次元名を使用すると、行時間にベクトルとしてアクセスすることができます。
ドット構文と 2 番目の次元名を使用する場合、
{:,:}
構文を使用して timetable のインデックスを指定したかのように、すべての変数のデータが 1 つの配列に連結されます。
例
timetable を作成し、その次元名を表示します。次元名とドット構文を使用して、行時間とデータにアクセスすることができます。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.DimensionNames
ans = 1x2 cell
{'Time'} {'Variables'}
最初の次元名を使用して行時間にアクセスします。
TT.Time
ans = 3x1 datetime
18-Dec-2015
19-Dec-2015
20-Dec-2015
2 番目の次元名を使用してデータにアクセスします。この構文は TT{:,:,}
と等価です。
TT.Variables
ans = 3×3
37.3000 30.1000 13.4000
39.1000 30.0300 6.5000
42.3000 29.9000 7.3000
Properties.DimensionNames
プロパティを使用して、次元の名前を変更します。次元名を変更したら、構文 TT.Date
および TT.WeatherData
を使用して、行時間とデータにそれぞれアクセスできます。
TT.Properties.DimensionNames = {'Date','WeatherData'}; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Date' 'WeatherData'} VariableNames: {'Var1' 'Var2' 'Var3'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
Description
— timetable の説明
''
(既定値) | 文字ベクトル | string スカラー
timetable の説明。文字ベクトルまたは string スカラーとして指定します。この説明は、関数 summary
を使用すると表示されます。
string スカラーを使用してこのプロパティを指定した場合、文字ベクトルに変換されて保存されます。
例
timetable を作成します。timetable の変数名と説明を変更します。結果の概要を表示します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.Description = 'Weather Data from December 2015'; summary(TT)
Description: Weather Data from December 2015 RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Values: Min 6.5 Median 7.3 Max 13.4
UserData
— 追加の timetable 情報
[]
(既定値) | 配列
追加の timetable 情報。配列として指定します。このプロパティを使用すると、任意の種類のデータを timetable に付加できます。
例
timetable を作成します。変数名を変更します。timetable に関連するユーザー データの一部として無名関数を付加します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; Fahrenheit2Celsius = @(x) (5.0/9.0).*(x - 32); TT.Properties.UserData = Fahrenheit2Celsius; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: @(x)(5.0/9.0).*(x-32) DimensionNames: {'Time' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
行時間メタデータ
RowTimes
— 行時間
datetime
ベクトル | duration
ベクトル
行時間。datetime
ベクトルまたは duration
ベクトルとして指定します。
timetable のすべての行に行時間がなければなりません。
timetable には、重複した行時間、順序が正しくない行時間、あるいは
NaT
またはNaN
値の行時間を使用できます。行時間は、timetable を表示すると表示されます。また、行時間を小かっこまたは中かっこで囲んで timetable データにアクセスすることもできます。
行時間にアクセスするもうひとつの方法では、ドット構文と、timetable の最初の次元の名前を使用します。
例
timetable を作成します。次に、Properties.RowTimes
プロパティを使用して行時間を置き換えます。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
Dates = datetime(2017,1,1:3); TT.Properties.RowTimes = Dates
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
01-Jan-2017 37.3 30.1 13.4
02-Jan-2017 39.1 30.03 6.5
03-Jan-2017 42.3 29.9 7.3
行時間にアクセスするもうひとつの方法とでは、ドット構文で timetable の最初の次元名を使用します。
TT.Properties.DimensionNames
ans = 1x2 cell
{'Time'} {'Variables'}
TT.Time
ans = 3x1 datetime
01-Jan-2017
02-Jan-2017
03-Jan-2017
StartTime
— 行時間の開始時間
datetime
スカラー | duration
スカラー
行時間の開始時間。datetime
スカラーまたは duration
スカラーとして指定します。この開始時間は timetable の 1 行目の行時間と等しく、データ型も同じです。
開始時間が
datetime
値の場合、TT
の行時間はdatetime
値になる。開始時間が
duration
値の場合、行時間は duration になる。タイム ステップが
calendarDuration
値の場合、開始時間はdatetime
値でなければならない。
timetable が空の場合、開始時間は NaN
になります。
例
timetable を作成します。この timetable では、連続する行の間のタイム ステップが同一でないため、timetable が不規則になっています。
TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
18-Dec-2015 37.3 13.4 {'N' }
20-Dec-2015 39.1 6.5 {'SE'}
21-Dec-2015 42.3 7.3 {'NW'}
そのプロパティを表示します。StartTime
プロパティの値は、最初の行時間と等しくなります。timetable が規則的でも不規則でも、それが空でない限り必ず開始時間があります。
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
StartTime
プロパティを変更します。すべての行時間に新しい値があることに注意してください。それぞれの行時間での値の変化は、最初の行時間の元の値と新たな開始時間の差と等しくなっています。
TT.Properties.StartTime = datetime('2018-04-09')
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
09-Apr-2018 37.3 13.4 {'N' }
11-Apr-2018 39.1 6.5 {'SE'}
12-Apr-2018 42.3 7.3 {'NW'}
SampleRate
— サンプル レート
正の数値スカラー
サンプル レート。正の数値スカラーとして指定します。サンプル レートは、1 秒あたりのサンプル数 (Hz) です。
行時間が規則的でない場合、または timetable が空の場合、サンプル レートは NaN
になります。
例
TimeStep
— タイム ステップ
duration
スカラー | calendarDuration
スカラー
タイム ステップ。duration
スカラーまたは calendarDuration
スカラーとして指定します。
タイム ステップを
calendarDuration
値 (たとえば、カレンダー月数) として指定する場合、行時間のベクトルはdatetime
ベクトルでなければなりません。タイム ステップを
duration
値 (たとえば、秒) として指定する場合、行時間のベクトルはdatetime
ベクトルまたはduration
ベクトルのいずれかになります。
行時間が規則的でない場合、または timetable が空の場合、タイム ステップは NaN
になります。
例
規則的な timetable を作成します。この timetable において、行時間は、同じタイム ステップを使用して作成された duration です。
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
そのプロパティを表示します。TimeStep
プロパティには、タイム ステップが duration として保存されます。
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Intensity'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [5x1 duration] StartTime: 0 sec SampleRate: 100 TimeStep: 0.01 sec Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
TimeStep
プロパティを変更します。開始時間は同じですが、タイム ステップが大きくなっているため、他の行時間はすべて異なっています。ただし、変数 Intensity
は同じままです。
TT.Properties.TimeStep = seconds(0.04)
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.04 sec 98.7
0.08 sec 95.2
0.12 sec 101.4
0.16 sec 99.1
Events
— イベント
イベント テーブル | datetime
ベクトル | duration
ベクトル
R2023a 以降
イベント。イベント テーブル、datetime
ベクトル、または duration
ベクトルとして指定します。イベント テーブルは、イベントが発生した時間、イベントについて説明するラベル、および場合によってイベントに関する他の情報をリストします。イベント時に発生した timetable 行を見つけてラベルを付けるには、Events
プロパティへの代入によってイベントを timetable に付加します。
datetime
または duration
ベクトルを代入した場合、代入により、ベクトルが既定のラベルをもつイベント テーブルに変換され、そのイベント テーブルが Events
プロパティに代入されます。
timetable の行時間とイベントに関連したイベント時間は、同じデータ型でなければなりません。たとえば、datetime
値の行時間をもつ timetable に duration
ベクトルや、duration
値のイベント時間をもつイベント テーブルを付加することはできません。
イベント テーブルの詳細については、eventtable
を参照してください。
変数のメタデータ
VariableNames
— 変数名
文字ベクトルの cell 配列 | string 配列
変数名。要素が空ではない一意の文字ベクトルの cell 配列または string 配列として指定します。名前の数は変数の数と等しくなければなりません。
変数名には、スペースや非 ASCII 文字を含め、どんな Unicode 文字でも使用することができます。
変数名は、timetable を表示するか、関数
summary
を使用すると表示されます。また、変数名をかっこ内、中かっこ内またはドット インデックス付きで使用して table データにアクセスできます。string 配列を使用してこのプロパティを指定した場合、文字ベクトルの cell 配列に変換されて保存されます。
例
既定の変数名で timetable を作成します。次に、Properties.VariableNames
プロパティを使用して名前を変更します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}
TT=3×3 timetable
Time Temp Pressure WindSpeed
___________ ____ ________ _________
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
変数を表示および変更するための基本的な方法は、ドット構文を使用して名前により変数にアクセスすることです。
TT.Temp
ans = 3×1
37.3000
39.1000
42.3000
TT.Pressure(3) = 30
TT=3×3 timetable
Time Temp Pressure WindSpeed
___________ ____ ________ _________
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 30 7.3
VariableDescriptions
— 変数の説明
{}
(既定値) | 文字ベクトルの cell 配列 | string 配列
変数の説明。文字ベクトルの cell 配列または string 配列として指定します。このプロパティには空の cell 配列を指定できます。これは既定値です。配列が空でない場合、含まれる要素の数は変数の数と同じでなければなりません。説明がない変数について、空の文字ベクトルまたは空の string を個別に指定できます。
変数の説明は、関数
summary
を使用すると表示されます。string 配列を使用してこのプロパティを指定した場合、文字ベクトルの cell 配列に変換されて保存されます。
例
timetable を作成します。変数名と説明を変更します。結果の概要を表示します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.VariableDescriptions = {'Temperature (external)', ... 'Pressure in Hg', ... 'Wind speed at sensor 123'}; summary(TT)
RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Properties: Description: Temperature (external) Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Properties: Description: Pressure in Hg Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Properties: Description: Wind speed at sensor 123 Values: Min 6.5 Median 7.3 Max 13.4
VariableUnits
— 変数の単位
{}
(既定値) | 文字ベクトルの cell 配列 | string 配列
変数の単位。文字ベクトルの cell 配列または string 配列として指定します。このプロパティには空の cell 配列を指定できます。これは既定値です。配列が空でない場合、含まれる要素の数は変数の数と同じでなければなりません。単位がない変数について、空の文字ベクトルまたは空の string を個別に指定できます。
変数の単位は、関数
summary
を使用すると表示されます。string 配列を使用してこのプロパティを指定した場合、文字ベクトルの cell 配列に変換されて保存されます。
例
timetable を作成します。変数名と単位を変更します。結果の概要を表示します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.VariableUnits = {'degrees F','mm Hg','mph'}; summary(TT)
RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Properties: Units: degrees F Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Properties: Units: mm Hg Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Properties: Units: mph Values: Min 6.5 Median 7.3 Max 13.4
VariableContinuity
— 連続変数または離散変数としてのステータス
[]
(既定値) | 文字ベクトルの cell 配列 | string 配列
連続変数または離散変数としてのステータス。文字ベクトルの cell 配列または string 配列として指定します。このプロパティには空の配列を指定できます。これは既定値です。配列が空でない場合、含まれる要素の数は変数の数と同じでなければなりません。各要素は 'unset'
、'continuous'
、'step'
、'event'
のいずれかです。
VariableContinuity
の値は、関数 retime
や関数 synchronize
の機能に影響します。VariableContinuity
を指定して retime
または synchronize
を呼び出す場合は、メソッドを指定する必要はありません。代わりに、retime
と synchronize
が次の既定のメソッドを使用して、出力 timetable 変数に入力します。
'unset'
— 該当するタイプ (数値変数用のNaN
など) の欠損データ インジケーターを使用して値を入力。'continuous'
— 線形内挿を使用して値を入力。'step'
— 以前の値を使用して値を入力。'event'
— 該当するタイプ (数値変数用のNaN
など) の欠損データ インジケーターを使用して値を入力。
メソッドを retime
または synchronize
への入力引数として指定した場合、そのメソッドは VariableContinuity
で指定した値をオーバーライドします。
VariableContinuity
プロパティ使用の詳細については、さまざまなメソッドを使用した timetable 変数の時間再調整と同期を参照してください。
例
timetable を作成します。各変数の matlab.tabular.Continuity
値を指定します。
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}; TT.Properties.VariableContinuity = {'continuous','event','event'}; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [continuous event event] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
カスタム メタデータ
CustomProperties
— timetable およびその変数の、カスタマイズされたメタデータ
CustomProperties
オブジェクト
timetable およびその変数の、カスタマイズされたメタデータ。CustomProperties
オブジェクトとして指定します。
CustomProperties
オブジェクトは、timetable への追加が可能なカスタマイズされたメタデータ用のコンテナーです。既定では、CustomProperties
にはプロパティが含まれていません。CustomProperties
に追加する各プロパティには、table メタデータまたは変数メタデータを含めることができます。プロパティに変数メタデータが含まれる場合、その値は配列でなければならず、その配列内の要素数は timetable 変数の数と等しくなければなりません。
メモ: addprop
と rmprop
を使用して追加や削除ができるのは、カスタマイズされたメタデータのプロパティのみです。
オブジェクトのプロパティの追加や削除はできません。timetableName
.Properties
例
気象データを含む timetable を作成します。
TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
18-Dec-2015 37.3 13.4 {'N' }
20-Dec-2015 39.1 6.5 {'SE'}
21-Dec-2015 42.3 7.3 {'NW'}
これらのデータを測定した機器と出力ファイル名を記述するために、関数 addprop
を使用して、カスタマイズされたメタデータを追加します。Instruments
プロパティには、TT
の変数に適用される変数メタデータがあります。OutputFile
プロパティには table メタデータがあります。
TT = addprop(TT,{'Instruments','OutputFile'},{'variable','table'}); TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Events: [] Custom Properties (access using t.Properties.CustomProperties.<name>): OutputFile: [] Instruments: []
ドット構文を使用して、カスタマイズされたメタデータに値を代入します。テキスト値の配列をカスタマイズされたメタデータに割り当てる場合は、文字ベクトルの cell 配列ではなく、string 配列を使用することをお勧めします。CustomProperties
のプロパティが文字ベクトルの cell 配列である場合、テキスト以外の値が cell 配列の要素として後から代入されるのを防ぐ手立てがなくなります。
TT.Properties.CustomProperties.Instruments = ["thermometer","anemometer","wind vane"]; TT.Properties.CustomProperties.OutputFile = 'weatherReadings.csv'; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Events: [] Custom Properties (access using t.Properties.CustomProperties.<name>): OutputFile: 'weatherReadings.csv' Instruments: ["thermometer" "anemometer" "wind vane"]
OutputFile
プロパティを TT
から削除します。
TT = rmprop(TT,'OutputFile');
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Events: [] Custom Properties (access using t.Properties.CustomProperties.<name>): Instruments: ["thermometer" "anemometer" "wind vane"]
例
timetable の関連データ変数の格納と同期
さまざまな時点で測定された気象条件に関するデータを timetable に格納します。timetable には、ストレージ機能以外に、指定した時間にデータを同期するための関数が用意されています。また、作業内容や timetable の変数について説明する注釈を timetable に付けることもできます。
ワークスペース変数から timetable を作成します。MeasurementTime
の値が timetable の行時間になります。その他すべての入力引数は timetable 変数になります。この構文を使用する場合、行時間ベクトルと TT
の変数の名前は、対応する入力引数の名前です。
MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'}); Temp = [37.3;39.1;42.3]; Pressure = [30.1;30.03;29.9]; WindSpeed = [13.4;6.5;7.3]; TT = timetable(MeasurementTime,Temp,Pressure,WindSpeed)
TT=3×3 timetable
MeasurementTime Temp Pressure WindSpeed
____________________ ____ ________ _________
18-Dec-2015 08:03:05 37.3 30.1 13.4
18-Dec-2015 10:03:17 39.1 30.03 6.5
18-Dec-2015 12:03:13 42.3 29.9 7.3
気象データを 1 時間ごとのタイム ステップで定期的に同期します。線形内挿を使用して、データを新しい時間に合わせて調整します。
TT2 = retime(TT,'hourly','linear')
TT2=6×3 timetable
MeasurementTime Temp Pressure WindSpeed
____________________ ______ ________ _________
18-Dec-2015 08:00:00 37.254 30.102 13.577
18-Dec-2015 09:00:00 38.152 30.067 10.133
18-Dec-2015 10:00:00 39.051 30.032 6.6885
18-Dec-2015 11:00:00 40.613 29.969 6.8783
18-Dec-2015 12:00:00 42.214 29.903 7.2785
18-Dec-2015 13:00:00 43.815 29.838 7.6788
出力の行時間は測定時間ではないため、行時間のベクトルの名前を変更します。このベクトルは timetable の最初の次元の名前でもあります。
TT2.Properties.DimensionNames{1} = 'InterpolatedTimes'
TT2=6×3 timetable
InterpolatedTimes Temp Pressure WindSpeed
____________________ ______ ________ _________
18-Dec-2015 08:00:00 37.254 30.102 13.577
18-Dec-2015 09:00:00 38.152 30.067 10.133
18-Dec-2015 10:00:00 39.051 30.032 6.6885
18-Dec-2015 11:00:00 40.613 29.969 6.8783
18-Dec-2015 12:00:00 42.214 29.903 7.2785
18-Dec-2015 13:00:00 43.815 29.838 7.6788
TT2
に説明の注釈を加えます。TT2.Properties
によりアクセスしたメタデータを使用して、TT2
とその変数に注釈を付けることができます。
TT2.Properties.Description = 'Weather data, interpolated to regular hourly times';
TT2.Properties
ans = TimetableProperties with properties: Description: 'Weather data, interpolated to regular hourly times' UserData: [] DimensionNames: {'InterpolatedTimes' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [6x1 datetime] StartTime: 18-Dec-2015 08:00:00 SampleRate: 2.7778e-04 TimeStep: 01:00:00 Events: [] CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
行時間と変数データにアクセス
ドット構文を使用して、timetable の行時間にアクセスすることができます。また、ドット構文を使用して個別の変数にアクセスしたり、2 番目の次元名を使用して timetable のすべてのデータにアクセスすることもできます。
MAT ファイル outdoors
から timetable を読み込みます。最初の 3 行を表示します。
load outdoors
outdoors(1:3,:)
ans=3×3 timetable
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
行時間ベクトルの名前を使用して行時間にアクセスします。この名前は、timetable の最初の次元の名前でもあります。outdoors
には、行時間が datetime
ベクトルとして格納されます。最初の 3 つの時間を表示します。
outdoors.Time(1:3)
ans = 3x1 datetime
2015-11-15 00:00:24
2015-11-15 01:30:24
2015-11-15 03:00:24
変数名を使用して、温度に数値ベクトルとしてアクセスします。
outdoors.TemperatureF(1:3)
ans = 3×1
51.3000
51.5000
51.5000
構文 outdoors.Variables
を使用して、すべての timetable データに行列としてアクセスします。この構文では、timetable の 2 番目の次元名を使用します。これは、中かっこによるインデックスを使用したすべての内容へのアクセス outdoors{:,:}
と等価です。ただし、行時間のベクトルは timetable メタデータであり変数ではないため、行列には行時間が含まれません。timetable のデータを連結して行列にすることができない場合は、エラー メッセージが表示されます。
outdoors.Variables
ans = 51×3
49.0000 51.3000 29.6100
48.9000 51.5000 29.6100
48.9000 51.5000 29.6100
48.8000 51.5000 29.6100
48.7000 51.5000 29.6000
48.8000 51.5000 29.6000
49.0000 51.5000 29.6000
49.1000 51.3000 29.6000
49.1000 51.3000 29.6100
49.1000 51.5000 29.6100
⋮
outdoors
の 2 番目の次元の名前を変更します。名前を変更したら、その新しい名前を使用してデータにアクセスすることができます。
outdoors.Properties.DimensionNames{2} = 'Data';
outdoors.Data
ans = 51×3
49.0000 51.3000 29.6100
48.9000 51.5000 29.6100
48.9000 51.5000 29.6100
48.8000 51.5000 29.6100
48.7000 51.5000 29.6000
48.8000 51.5000 29.6000
49.0000 51.5000 29.6000
49.1000 51.3000 29.6000
49.1000 51.3000 29.6100
49.1000 51.5000 29.6100
⋮
時間ベクトルの指定
名前と値のペアの引数 'RowTimes'
を使用して timetable を作成します。TT
の行時間ベクトルの名前は、MeasurementTime
ではなく Time
です。この構文を使用する場合、行時間ベクトルの名前は必ず Time
となります。
MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'}); Temp = [37.3;39.1;42.3]; Pressure = [29.4;29.6;30.0]; Precip = [0.1;0.9;0.0]; StormDuration = [hours(1);hours(2);NaN]; TT = timetable(Temp,Pressure,Precip,StormDuration,'RowTimes',MeasurementTime)
TT=3×4 timetable
Time Temp Pressure Precip StormDuration
____________________ ____ ________ ______ _____________
18-Dec-2015 08:03:05 37.3 29.4 0.1 1 hr
18-Dec-2015 10:03:17 39.1 29.6 0.9 2 hr
18-Dec-2015 12:03:13 42.3 30 0 NaN hr
既定の名前
timetable を作成します。ワークスペース変数ではない入力引数がある場合、関数 timetable
は対応する行ベクトルと timetable の変数に既定の名前を割り当てます。たとえば、いくつかの入力引数を転置して列ベクトルにする場合、これらの入力引数はワークスペース変数ではありません。既定の名前は、行時間のベクトルについては Time
、N
番目の timetable 変数については VarN
です。
T = hours(1:3); Temp = [37.3;39.1;42.3]; P = [29.4 29.6 30]; TT = timetable(T',Temp,P')
TT=3×2 timetable
Time Temp Var2
____ ____ ____
1 hr 37.3 29.4
2 hr 39.1 29.6
3 hr 42.3 30
サンプル レートの指定
100 Hz のサンプル レートを使用して、規則的な timetable を作成します。
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'SampleRate',100)
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
最初の行時間が 30 秒である timetable を作成します。開始時間を指定するには、名前と値のペアの引数 'StartTime'
を使用します。
TT = timetable(Intensity,'SampleRate',100,'StartTime',seconds(30))
TT=5×1 timetable
Time Intensity
_________ _________
30 sec 100
30.01 sec 98.7
30.02 sec 95.2
30.03 sec 101.4
30.04 sec 99.1
タイム ステップの指定
0.01 秒のタイム ステップを使用して、規則的な timetable を作成します。タイム ステップは duration
値または calendarDuration
値として指定しなければなりません。
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
最初の行時間が 30 秒である timetable を作成します。開始時間を指定するには、名前と値のペアの引数 'StartTime'
を使用します。
TT = timetable(Intensity,'TimeStep',seconds(0.01),'StartTime',seconds(30))
TT=5×1 timetable
Time Intensity
_________ _________
30 sec 100
30.01 sec 98.7
30.02 sec 95.2
30.03 sec 101.4
30.04 sec 99.1
サイズと変数の型の指定
table のサイズと変数のデータ型を指定して、table に事前割り当てを行います。関数 timetable
は、指定したデータ型に適した既定値を変数に代入します。また、変数に既定の名前を与えます。
T = [datetime('now') datetime(2017,11,1:3)]; sz = [4 3]; varTypes = {'double','double','string'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T)
TT=4×3 timetable
Time Var1 Var2 Var3
____________________ ____ ____ _________
19-Apr-2023 18:14:43 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 0 0 <missing>
03-Nov-2017 00:00:00 0 0 <missing>
変数の名前を指定するには、名前と値のペアの引数 'VariableNames'
を使用します。
varNames = {'Temperature','WindSpeed','Station'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T,'VariableNames',varNames)
TT=4×3 timetable
Time Temperature WindSpeed Station
____________________ ___________ _________ _________
19-Apr-2023 18:14:43 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 0 0 <missing>
03-Nov-2017 00:00:00 0 0 <missing>
データの行を TT
に追加します。コードによりデータの行が一度に 1 行または数行追加される場合は、事前割り当てが便利です。行を追加するたびに timetable を拡張する代わりに、データの領域を既にもっている table 変数への代入を行うことができます。データ値の行を cell 配列にカプセル化し、timetable の行に割り当てます。
時間によって行の添字を作成し、データ値の行を割り当てます。また、番号によって行と変数の添字を作成することも可能です。しかし、時間による timetable の添字作成は便利な手法です。
TT(datetime(2017,11,2),:) = {48.2,13.33,"S1"}
TT=4×3 timetable
Time Temperature WindSpeed Station
____________________ ___________ _________ _________
19-Apr-2023 18:14:43 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 48.2 13.33 "S1"
03-Nov-2017 00:00:00 0 0 <missing>
データ値の行をカプセル化して cell 配列にすることができます。cell 配列の行を割り当てる際は、この割り当てにより cell 配列が timetable 行に変換されます。
サンプル レートを使用した timetable への事前割り当て
1000 Hz のサンプル レートを指定して、timetable への事前割り当てを行います。また、開始時間を指定することもできます。
sz = [4 3]; varTypes = {'uint64','double','duration'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',1000,'StartTime',seconds(15))
TT=4×3 timetable
Time Var1 Var2 Var3
__________ ____ ____ ________
15 sec 0 0 00:00:00
15.001 sec 0 0 00:00:00
15.002 sec 0 0 00:00:00
15.003 sec 0 0 00:00:00
時間を指定することで 3 番目の行を参照し、1 行のデータを追加します。
TT(seconds(15.002),:) = {50,1.37,minutes(76)}
TT=4×3 timetable
Time Var1 Var2 Var3
__________ ____ ____ ________
15 sec 0 0 00:00:00
15.001 sec 0 0 00:00:00
15.002 sec 50 1.37 01:16:00
15.003 sec 0 0 00:00:00
タイム ステップを使用した timetable への事前割り当て
タイム ステップと変数名を指定します。
sz = [3 2]; varTypes = {'double','double'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',seconds(0.1),'VariableNames',{'Intensity','Distance'})
TT=3×2 timetable
Time Intensity Distance
_______ _________ ________
0 sec 0 0
0.1 sec 0 0
0.2 sec 0 0
時間を指定することで 2 番目の行を参照し、1 行のデータを追加します。
TT(seconds(0.1),:) = {93.6,11.27}
TT=3×2 timetable
Time Intensity Distance
_______ _________ ________
0 sec 0 0
0.1 sec 93.6 11.27
0.2 sec 0 0
timetable の作成と変数名の指定
timetable を作成し、timetable 変数の名前を指定します。行時間のベクトルは、秒単位の duration
ベクトルです。
Time = seconds(1: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
R2019b 以降、有効な MATLAB® 識別子ではない timetable 変数名を指定できます。そのような変数名にはスペース、非 ASCII 文字を含めることができ、先頭の文字に任意の文字を使用できます。
たとえば、読み取り値が格納された timetable 変数の名前として、日付を使用します。
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],... 'VariableNames',{'29-May-2019','30-May-2019'})
TT=5×2 timetable
Time 29-May-2019 30-May-2019
_____ ___________ ___________
1 sec 98 120
2 sec 97.5 111
3 sec 97.9 119
4 sec 98.1 117
5 sec 97.9 116
名前が有効な識別子ではない場合にドット表記を使用するには、かっこと引用符を含めます。
TT.('29-May-2019')
ans = 5×1
98.0000
97.5000
97.9000
98.1000
97.9000
制限
次の入力名には一重引用符を使用します。
'DimensionNames'
"(R2021a 以降)"'RowTimes'
'SampleRate'
'Size'
'StartTime'
'TimeStep'
'VariableTypes'
'VariableNames'
変数入力と混同しないように、これらの名前には二重引用符で囲んだ string スカラー (
"RowTimes"
など) を使用しないでください。
ヒント
timetable を受け入れる関数、または返す関数の一覧については、timetableを参照してください。
場合によっては、行時間の間の一定のタイム ステップを指定する構文を使用して
timetable
を呼び出すこともできますが、それでもtimetable
は不規則な timetable を返します。タイム ステップをカレンダーの時間単位を使用して指定し、不規則なステップを発生させる行時間が存在する場合に、このような結果が発生します。たとえば、2019 年 1 月 31 日から始まり、タイム ステップが 1 カレンダー月の timetable を作成した場合、月に関して不規則になります。stime = datetime(2019,1,31); tstep = calmonths(1); TT = timetable('Size',[3 1],'VariableTypes',{'double'},... 'TimeStep',tstep,'StartTime',stime)
TT = 3×1 timetable Time Var1 ___________ ____ 31-Jan-2019 0 28-Feb-2019 0 31-Mar-2019 0
夏時間 (DST) からの移行、またはうるう秒である
datetime
値が原因で不規則性が発生する場合もあります。次の表は、予期しない不規則な結果が発生する可能性がある日付、時刻、およびタイム ステップを示しています。行時間値
タイム ステップ
月の 29 日、30 日または 31 日として指定する開始時間。
カレンダー月または四半期の数。
2 月 29 日として指定する開始時間。
カレンダー年の数。
DST から標準時間に移行する日の午前 1 時と午前 2 時の間に発生するすべての datetime
値 (それらの値のタイム ゾーンで DST が適用される場合)。カレンダー日またはカレンダー月の数。 うるう秒であるすべての
datetime
値 (それらの値のタイム ゾーンがUTCLeapSeconds
タイム ゾーンである場合)。うるう秒のリストについては、leapseconds
を参照してください。任意のカレンダー単位 (日、週、月、四半期、年) で指定されているタイム ステップ。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
使用上の注意事項および制限事項:
名前と値のペア
'SampleRate'
、'TimeStep'
、および'StartTime'
はサポートされていません。Events
プロパティは tall timetable ではサポートされていません。作成。tall timetable の作成にはいくつかの方法があります。
基となるデータストアの
OutputType
プロパティを'timetable'
に指定し、データストアの読み取り操作が timetable を返すようにします。その後、tall(ds)
でデータストアを tall 配列に変換します。既定の動作では、データの最初の
datetime
変数またはduration
変数が行時間に使用されます。行時間を自分で指定するには、RowTimes
データストア プロパティを使用して行時間の talldatetime
または tallduration
ベクトルを指定します。table2timetable
を使用して既存の tall table を変換する。array2timetable
を使用して、既存の tall 配列を変換する。timetable
コンストラクターを使用して tall table の変数から tall timetable を手動で構成する。ds = tabularTextDatastore('data/folder/path.csv'); tt = tall(ds); TT = timetable(rowTimes, tt.Var1, tt.Var2, ...)
構文
TT = tall(tt)
を使用してインメモリ timetable を tall timetable に変換する。
インデックス付け。tall timetable へのインデックス付けでは、関数
timerange
、withtol
およびvartype
がサポートされています。サポートされる関数。関数が tall 配列をサポートしているか、またサポートしている場合、tall timetable とともに使用するときに何らかの制限があるかについては、各リファレンス ページ下部の "拡張機能" セクションに記載されています。
詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
R2020a 以降、コード生成を目的とした MATLAB® コードで timetable を使用できます。詳細については、timetable のコード生成 (MATLAB Coder)とコード生成における timetable の制限事項 (MATLAB Coder)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
以下の構文のみがサポートされています。
TT = timetable(
rowTimes
,var1,...,varN
)TT = timetable(
var1,...,varN
,'RowTimes',rowTimes
)TT = timetable(___,
'VariableNames'
,{'name1',...,'nameN'}
)TT = timetable(___,
'DimensionNames'
,{'dim1','dim2'}
)すべてのデータ変数は分散でなければなりません。
名前と値の引数
'SampleRate'
、'TimeStep'
、および'StartTime'
はサポートされません。Events
プロパティはサポートされません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016b で導入R2023a: 時間や withtol
添字での添字付けにおけるパフォーマンス向上
時間または withtol
添字による添字付けにおける timetable
の添字付けが R2023a では R2022b より大幅に高速化しています。
たとえば、100 個の
datetime
値をもつベクトルを使用して、107 行の timetable に対する添字付けを行った場合、R2023a のパフォーマンスは R2022b より約 114 倍高速化しています。function timingTest() rng default % 10^7 rows N = 10000000; rowtimes = datetime(2023,1,1,0,0,0:N-1); rowtimes.Format = rowtimes.Format + ".SSS"; tt = timetable(rand(N,1),RowTimes=rowtimes); % 100 values chosen in steps of 10 n = 1000; t = datetime(2023,1,1,0,0,0:10:n-1); tic tt2 = tt(t,:); toc end
おおよその実行時間は以下のとおりです。
R2022b: 9.10 秒
R2023a: 0.08 秒
同様に、100 個の
duration
値をもつベクトルを使用して、107 行の timetable に対する添字付けを行った場合、R2023a のパフォーマンスは R2022b より約 14 倍高速化しています。function timingTest() rng default % 10^7 rows N = 10000000; rowtimes = seconds(0:N-1); tt = timetable(rand(N,1),RowTimes=rowtimes); % 100 values chosen in steps of 10 n = 1000; t = seconds(0:10:n-1); tic tt2 = tt(t,:); toc end
おおよその実行時間は以下のとおりです。
R2022b: 1.29 秒
R2023a: 0.09 秒
107 行の timetable で
withtol
添字を使用した場合、R2023a のパフォーマンスは R2022b より約 44 倍高速化しています。function timingTest() rng default % 10^7 rows N = 10000000; rowtimes = seconds(0:N-1); tt = timetable(rand(N,1),RowTimes=rowtimes); % 100 values chosen in steps of 10 n = 1000; t = seconds(0:10:n-1); tt.Time = tt.Time + .1*seconds(rand(N,1)); wt = withtol(t,seconds(.1)); tic tt2 = tt(wt,:); toc end
おおよその実行時間は以下のとおりです。
R2022b: 3.92 秒
R2023a: 0.09 秒
このコードの時間測定では、Windows® 10、AMD® EPYC 74F3 24 コア プロセッサ (3.19 GHz) 搭載のテスト システムで、関数 timingTest
の各バージョンを呼び出しました。
R2021a: 'SamplingRate'
は削除予定
'SamplingRate'
の名前と値の引数は将来のリリースで削除される予定です。代わりに 'SampleRate'
を使用してください。対応する timetable プロパティも SampleRate
という名前になります。
下位互換性のため、引き続き 'SamplingRate'
を名前と値の引数の名前として指定できます。ただし、値は SampleRate
プロパティに割り当てられます。
R2019b: 変数名の先頭と末尾には空白文字を含めることが可能
先頭または末尾に空白文字を含む table および timetable の変数名は変更されません。
以前のリリースでは、名前と値のペアの引数 'VariableNames'
を使用して指定した場合や、VariableNames
プロパティに割り当てた場合、変数名から先頭と末尾の空白文字が削除されていました。
そのような文字を手動で削除するには、まず名前に関数 strtrim
を使用してから、変数名として table または timetable に割り当てます。
参考
array2timetable
| table2timetable
| summary
| uitable
| timetable2table
| table
| addprop
| rmprop
| timeseries
| timeseries2timetable
| extractTimetable
(Simulink)
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)