timetable のコード生成
timetable データ型は、タイムスタンプ付きの行をもつ表形式データに適したデータ型です。timetable は table と同様に、行と、列方向の変数で構成されます。timetable 内の各変数は異なるデータ型および異なるサイズをもつことができますが、各変数には、行数が同じでなければなければならないという制限があります。
timetable の "行時間" は、行にラベルを付ける時間値です。行時間と変数によって、timetable にインデックスを作成できます。timetable にインデックスを作成するには、小かっこ () を使用してサブテーブルを返すか、または中かっこ {} を使用して内容を抽出します。変数と行時間のベクトルを名前で参照できます。詳細については、timetableを参照してください。
コード生成で timetable を使用する場合は、次の制限に従ってください。
コード生成用の timetable の定義
コード生成用に MATLAB® コードで timetable を定義するには、timetable 関数を使用します。あるいは、array2timetable 関数および table2timetable 関数を使用して、配列や table を timetable に変換することもできます。コード生成では、timetable を作成するときに名前と値の引数 "RowTimes" および "VariableNames" を指定しなければなりません。timetable 変数の名前は、有効な MATLAB 識別子である必要はありません。変数名には、任意の ASCII 文字 (コンマ、ダッシュ、空白文字など) を含めることができます。行時間は、datetime 値または duration 値のいずれかでなければなりません。
たとえば、A、B、および C が 10 行 1 列の double の配列、vnames が列名の cell 配列、rtimes が datetime 値のベクトルであるとします。これらの配列を timetable 変数として使用して timetable を作成する関数のコードを生成できます。
function TT = foo(A,B,C,D,vnames) %#codegen TT = timetable(A,B,C,'RowTimes',rtimes,'VariableNames',vnames); end
timetable で実行可能な演算
コード生成では、次の表に示す timetable に対する演算に制限されます。
| 演算 | 例 | メモ |
|---|---|---|
代入演算子: |
TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); TT{:,1} = X; | コード生成では次に対する代入演算子
|
インデックス演算 |
D = seconds(1:10); TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); TT(seconds(3:7),1:3); | コード生成では、位置、変数または行時間によるインデックス付け、および論理インデックス付けがサポートされます。また、関数 コード生成では以下がサポートされます。
|
連結 |
TT1 = timetable(A,B,C,'RowTimes',D1,'VariableNames',vnames); TT2 = timetable(D,E,F,'RowTimes',D2,'VariableNames',vnames); TT = [TT1 ; TT2]; | コード生成では timetable の連結がサポートされます。
|
timetable をサポートする MATLAB ツールボックス関数
コード生成では、次の MATLAB ツールボックス関数で timetable を使用できます。