【发布时间】:2017-05-13 07:12:07
【问题描述】:
我想使用特定的变量列表(列,此处对应 1000 个光谱波长值)从光谱数据矩阵创建一个表格,而不是手动输入名称。
为此,我使用array2table 函数,matlab 文档显示变量的行和标签的名称必须作为元胞数组(而不是矩阵)。所以我需要首先将我的 x 轴(光谱波长)转换为单元阵列。我使用以下内容:
C = num2cell(xaxis); % 转换为单元格数组(每个单元格包含1个值)
isvarname C % 检查变量作为元胞数组是否有效
T = array2table(R,'RowNames', concentration,'VariableNames',C);
这里:R是矩阵,浓度是1x500的Cell array,xaxis是1x1000光谱数据的波长(范围从600到1800,大约没有零值)。
不幸的是,我收到以下错误: “使用 array2table 时出错(第 62 行) VariableNames 属性必须是一个元胞数组,每个元素都包含一个非空字符串。"
这意味着我可以正确输入列(变量)名称(但是,行名称可以正常工作)。
注意:我试过
T.Properties.VariableNames = c 但它也不起作用。
我检查了关于表名值的其他帖子,但没有帮助, 有没有想过这个? 非常感谢。
【问题讨论】:
标签: matlab cell-array axis-labels