Limitations for table variable name
28 次查看(过去 30 天)
显示 更早的评论
Hello, dear community!
I try to name table variable with non-Latin character, for example Cyrillic:
>> a = table(zq, 'VariableNames', cellstr('я'));
Error using matlab.internal.tableUtils.makeValidName (line 36)
'я' is not a valid variable name.
Error in setVarNames (line 48)
[newnames,wasMadeValid] = matlab.internal.tableUtils.makeValidName(newnames,exceptionMode); % will warn if mods are made
Error in table (line 305)
t = setVarNames(t,vnames); % error if invalid, duplicate, or empty
If I do the same, but with variable named using Latin characters, then everything works fine. What could cause this error? Is this normal behavior?
Thank you.
0 个评论
采纳的回答
Walter Roberson
2015-10-22
Normal. The names have the same restrictions as matlab variable names. Latin letter to start, continue with digits or underscore or Latin letters
6 个评论
Walter Roberson
2015-10-28
If using xlswrite is acceptable, then use num2cell() to convert the numeric matrix to a cell array, add the headers to the top of that, and xlswrite() the whole thing out.
更多回答(1 个)
Vy Le
2021-2-9
Hi, why I write it and they said 'inifity norm of number c' is not a valid table variable name
Thank you.
names = {'inifity norm of condition number c','infinity norm of the residual r1'};
table(c,r1,'VariableNames',names)
1 个评论
Steven Lord
2021-2-9
Prior to release R2019b table variable names were required to be valid MATLAB identifiers. In particular, that meant no spaces. That limitation was removed in release R2019b.
v = (1:5).';
A = table(v, v.^2, v.^3, 'VariableNames', ["v", "v squared", "v^3"])
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!