- start with a letter, otherwise assigning to that field will error
- contain only letters, numbers, and/or the underscore character, otherwise assigning to that field will error, and
- must be no longer than namelengthmax (currently 63) characters, otherwise you will receive a warning and the field name will be truncated
MATLAB invalid field name
297 views (last 30 days)
Show older comments
Hello, I am trying to create the following structure
data2.TEST.('MY/FIELD')=100
receiving the following error
Invalid field name: 'MY/FIELD'
I guess the error is related to the use of "/" character in the field name. Any suggestion about how to solve this and maintain the field name with "/" ?
thank you P
0 Comments
Accepted Answer
Steven Lord
on 8 Jun 2017
Field names in MATLAB struct arrays must satisfy three of the four criteria of a valid variable name as listed in the help for the isvarname function. They must:
It is possible to assign to a field whose name is a keyword, though I would advise against it unless absolutely necessary. And trying to save that struct with the -struct option probably won't work, or if it does trying to load that MAT-file will likely cause a headache for you in the future.
S = struct;
S.end = 42
To convert your potential field name into one that is valid, consider using matlab.lang.makeValidName and potentially matlab.lang.makeUniqueStrings.
0 Comments
More Answers (1)
dpb
on 8 Jun 2017
" how to solve this and maintain the field name with "/" ?"
No can do. The '/' is simply not an allowable character in a variable/field name and there's no getting around it. Use something else.
0 Comments
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!