Limitations for table variable name
조회 수: 9 (최근 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에서 Cell Arrays에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!