我想要从一组光谱数据的矩阵中创建一个表格,使用一个特定的变量列表(这里对应于1000个光谱波长值的列),而不是手动输入名称。为此,我使用
不幸的是,我得到了以下错误: "Error using array2table (line 62) The VariableNames property must be a cell array, with each element containing one nonempty string."
这意味着我无法正确输入列(变量)名称(然而,行名称却可以正常工作)。 注意:我尝试过
我查看了其他关于表格名称值的帖子,但没有帮助。你对此有什么想法吗? 非常感谢。
array2table
函数,Matlab文档显示行的名称和变量的标签必须作为单元格数组(而不是矩阵)放置。因此,我需要首先将我的x轴(光谱波长)转换为单元格数组。我使用以下操作:
C = num2cell(xaxis);
% 将其转换为单元格数组(每个单元格包含1个值)
isvarname C
% 检查该变量是否可作为单元格数组
T = array2table(R,'RowNames', concentration,'VariableNames',C);
这里: R是矩阵,concentration是一个1x500的单元格数组,xaxis是1x1000的光谱数据波长(它的范围从600到1800,几乎没有空值)。不幸的是,我得到了以下错误: "Error using array2table (line 62) The VariableNames property must be a cell array, with each element containing one nonempty string."
这意味着我无法正确输入列(变量)名称(然而,行名称却可以正常工作)。 注意:我尝试过
T.Properties.VariableNames = c
但也不起作用。我查看了其他关于表格名称值的帖子,但没有帮助。你对此有什么想法吗? 非常感谢。