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

10 vues (au cours des 30 derniers jours)
Leon
Leon le 17 Oct 2019
Commenté : Leon le 17 Oct 2019
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 commentaires
Daniel M
Daniel M le 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.
Leon
Leon le 17 Oct 2019
Thank you!

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 17 Oct 2019
Modifié(e) : Guillaume le 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 commentaires
Adam Danz
Adam Danz le 17 Oct 2019
Modifié(e) : Adam Danz le 17 Oct 2019
Thanks, I hadn't thought about tables.
Leon
Leon le 17 Oct 2019
Many thanks, Everyone!
Glad this works with table after R2019b.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by