How to create variable with special characters like [ ] { } etc
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I need to create variables having special characters like [ ] { } in workspace. For Example create variable with name variable_name_s[pop]. I am not sure whether it is possible or not in Matlab. Please let me know about this. Thanks.
1 comentario
Ashish Uthama
el 12 de Jul. de 2011
Why would you want to do this? If you have a use-case, people here might be able to give you a better answer.
Respuesta aceptada
Jan
el 12 de Jul. de 2011
It works. The names of variables are stored as C-strings, which can be modifed in a MEX function. But it will have the drawback, that you cannot access the variables anymore: If the interpreter parses the symbol 'name{i}' it uses 'name' as name of the variable and the part in the curly braces as cell index. Therefore the interpreter will not search for a variable called 'name{i}', and in consequence it will not find it. I think CLEAR is a better method to make a variable unaccessible.
This can be used to rename field names of structs freely: FEX: RenameField. Together with dynamic fieldnames they can be accessed, e.g. S.('name[{]}'). But I have never seen a useful application for such dirty tricks.
0 comentarios
Más respuestas (3)
Bjorn Gustavsson
el 12 de Jul. de 2011
Try to avoid such nonsense asap. Nothing good can come out of that. If you somehow want a [ or another non-"alphanum" character in a variable name you should take a step back and rethink your design. Stick to 0-9 a-z A-Z and _!
See: http://www.mathworks.com/help/techdoc/matlab_prog/f10-60729.html#f10-60768 for more info on variable naming.
Walter Roberson
el 12 de Jul. de 2011
Perhaps the containers.Map class would be suitable for you; see http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html
0 comentarios
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!