我正在使用MATLAB并尝试将列标题中的单位添加到值表中,例如'Time [s]',但由于[],这是无效的。根据迄今为止我发现的所有内容都说列标题必须是有效的变量名,例如仅限字母数字和“_”。有没有人知道为明显单位的标题添加单位的解决方法?我需要[]或(),/和*来涵盖所有可能的单位。
答案 0 :(得分:2)
对于表格,列名称必须是有效的变量名称(如您所见),并且您在MATLAB中的变量名称中不允许使用您提及的任何字符。如果要在列中包含单元信息,则需要使用表属性的VariableUnits
来指定这些。
t = table(rand(10, 1), 'VariableNames', {'Time'});
t.Properties.VariableUnits = {'sec'};
您还可以修改VariableDescriptions
。
t.Properties.VariableDescriptions = {'Time (s)'};
然后,当您查看摘要数据时,将显示单位和您的自定义说明。
summary(t)
%// Variables:
%//
%// Time: 10x1 double
%// Units: sec
%// Description: Time (s)
%// Values:
%//
%// min 0.11437
%// median 0.4344
%// max 0.96995
<强>更新强>
如果你真的想要,你需要使用有效的变量名称但是传达单位(即Time_sec
)