表的代码生成
table
数据类型是一种适用于列向数据或表数据的数据类型,这些数据通常以列的形式存储在文本文件或电子表格中。表由若干行向变量和若干列向变量组成。表中的每个变量可以具有不同的数据类型和大小,但有一个限制条件是每个变量的行数必须相同。有关详细信息,请参阅表。
在代码生成中使用表时,请遵守这些限制。
为代码生成定义表
对于代码生成,请使用 table
函数。例如,假设您的 MATLAB® 函数的输入参量是三个具有相同行数的数组和一个具有变量名称的元胞数组。您可以创建一个包含这些数组作为表变量的表。
function T = foo(A,B,C,vnames) %#codegen T = table(A,B,C,'VariableNames',vnames); end
您可以使用 array2table
、cell2table
和 struct2table
函数将数组、元胞数组和结构体转换为表。例如,您可以将输入元胞数组转换为表。
function T = foo(C,vnames) %#codegen T = cell2table(C,'VariableNames',vnames); end
对于代码生成,您必须在创建表时提供表变量名称。表变量名称不必是有效的 MATLAB 标识符。名称必须由 ASCII 字符组成,但可以包括任何 ASCII 字符(如逗号、破折号和空白字符)。
允许对表执行的操作
对于代码生成,您只能对表执行下面列出的操作。
运算 | 示例 | 附注 |
---|---|---|
赋值运算符: |
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]; | 代码生成支持表串联。
|
支持表的 MATLAB 工具箱函数
对于代码生成,您可以将表与以下 MATLAB 工具箱函数结合使用: