table のコード生成
table
データ型は列方向データまたは表形式データに適したデータ型です。多くの場合、こうしたデータはテキスト ファイルやスプレッドシートに列として格納されます。table は、行と、列方向の変数で構成されます。table 内の各変数は異なるデータ型および異なるサイズをもつことができますが、各変数には、行数が同じでなければなければならないという制限があります。詳細については、tableを参照してください。
コード生成で table を使用する場合は、次の制限に従ってください。
コード生成用の table の定義
コード生成用に、関数 table
を使用します。たとえば、MATLAB® 関数への入力引数が、同じ行数をもつ 3 つの配列と変数名が含まれる cell 配列であるとします。これらの配列が含まれる table を table 変数として作成できます。
function T = foo(A,B,C,vnames) %#codegen T = table(A,B,C,'VariableNames',vnames); end
関数 array2table
、cell2table
および struct2table
を使用して、配列、cell 配列、構造体を table に変換できます。たとえば、入力 cell 配列を table に変換できます。
function T = foo(C,vnames) %#codegen T = cell2table(C,'VariableNames',vnames); end
コード生成では、table の作成時に table 変数名を指定しなければなりません。table 変数の名前は、有効な MATLAB 識別子である必要はありません。名前は ASCII 文字で構成されなければなりませんが、任意の ASCII 文字 (コンマ、ダッシュ、空白文字など) を含めることができます。
table で実行可能な演算
コード生成では、次に示す table の演算に制限されます。
演算 | 例 | メモ |
---|---|---|
代入演算子: |
T = table(A,B,C,'VariableNames',vnames);
T{:,1} = D;
| コード生成では次に対する代入演算子
|
インデックス演算 |
T = table(A,B,C,'VariableNames',vnames);
T(1:5,1:3);
| コード生成では、位置、変数または行名によるインデックス付け、および論理インデックス付けがサポートされます。 コード生成では以下がサポートされます。
|
連結 |
T1 = table(A,B,C,'VariableNames',vnames); T2 = table(D,E,F,'VariableNames',vnames); T = [T1 ; T2]; | コード生成では table の連結がサポートされます。
|
table をサポートする MATLAB ツールボックス関数
コード生成では、次の MATLAB ツールボックス関数で table を使用できます。