How to create variable with special characters like [ ] { } etc

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 Comment

Why would you want to do this? If you have a use-case, people here might be able to give you a better answer.

Sign in to comment.

 Accepted Answer

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.

More Answers (3)

No and would be a bad idea if you could do it.
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 _!

1 Comment

Sorry.. I am beginner in Matlab.. I was not knowing variable naming convention..

Sign in to comment.

Categories

Tags

Asked:

on 12 Jul 2011

Community Treasure Hunt

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

Start Hunting!