假设我们有一个1x3表A=table(1,2,3);
其标题名称应包含数字和非数字的混合:
A.Properties.VariableNames={'from 1st-5th' 'from 6th-10th' ... 'from 11th-15th'};
并生成以下错误:
from 1st-5th' is not a valid variable name.
我尝试使用sprintf
函数来解决此错误,但formatSpec
参数令人困惑。此外,我阅读了eval
,并想知道它是否对我的背景有帮助。
genvarname
使用的结果:
答案 0 :(得分:3)
由于您的错误非常明确,因此您为变量名称提供的字符串为not valid variable names when they have to be
变量名,指定为非空且不同的字符向量的单元格数组。变量名称必须是有效的MATLAB®变量名称
您可以使用内置genvarname
将字符串转换为valid variable names
A.Properties.VariableNames = genvarname({'from 1st-5th' 'from 6th-10th' 'from 11th-15th'});
或者,提出自己的变量名称,这些变量名称是有效的变量名称(没有空格或连字符)。
names = {'from 1st-5th' 'from 6th-10th' 'from 11th-15th'};
A.Properties.VariableNames = regexprep(names, '[ \-]', '_');