MATLAB invalid field name

357 Ansichten (letzte 30 Tage)
Paolo
Paolo am 8 Jun. 2017
Beantwortet: Steven Lord am 8 Jun. 2017
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

Akzeptierte Antwort

Steven Lord
Steven Lord am 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:
  1. start with a letter, otherwise assigning to that field will error
  2. contain only letters, numbers, and/or the underscore character, otherwise assigning to that field will error, and
  3. must be no longer than namelengthmax (currently 63) characters, otherwise you will receive a warning and the field name will be truncated
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.

Weitere Antworten (1)

dpb
dpb am 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.

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by