MATLAB invalid field name

282 visualizaciones (últimos 30 días)
Paolo
Paolo el 8 de Jun. de 2017
Respondida: Steven Lord el 8 de Jun. de 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

Respuesta aceptada

Steven Lord
Steven Lord el 8 de Jun. de 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.

Más respuestas (1)

dpb
dpb el 8 de Jun. de 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.

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by