Is it possible to use a variable name like this within Matlab?

10 views (last 30 days)
I have standardized header names with slash like this: OXYGEN_UMOL/KG.
How do I escape the '/' so that I can use commands like this?
OXYGEN_UMOL/KG = 5;
The same variable name should go to my Excel writetable command.
Thanks!
  2 Comments
Daniel M
Daniel M on 17 Oct 2019
It is not possible with regular variable names. The only time is may be possible is with the names of variables within a table, and then only in release R2019b. Unfortunately, I have R2019a so I cannot test this.

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 17 Oct 2019
Edited: Guillaume on 17 Oct 2019
Confusingly, variable names can mean two different things now in matlab. A generic variable name, e.g.
>> A = 5
is limited to alphanumeric characters and _ and cannot start with a digit.
Since R2019b, table variable names on the other hand can have any characters in them, so yes a table variable can be named OXYGEN_UMOL/KG.
One way to do this:
>> t = table([1;2;3], ["aaa"; "b"; "cc"], 'VariableNames', {'OXYGEN_UMOL/KG', 'Name with spaces'})
t =
3×2 table
OXYGEN_UMOL/KG Name with spaces
______________ ________________
1 "aaa"
2 "b"
3 "cc"
Another way:
>> t.('#@!') = [10;20;30]
t =
3×3 table
OXYGEN_UMOL/KG Name with spaces #@!
______________ ________________ ___
1 "aaa" 10
2 "b" 20
3 "cc" 30
writetable will write these names as is in excel or a text file.
  2 Comments
Adam Danz
Adam Danz on 17 Oct 2019
Edited: Adam Danz on 17 Oct 2019
Thanks, I hadn't thought about tables.
Leon
Leon on 17 Oct 2019
Many thanks, Everyone!
Glad this works with table after R2019b.

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!