How to derive a variable name from a variable?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How to derive a variable name from a variable?
A = [5 6 7 8];
B = ‘A’;
A(1) % this works and return the first element of A which is 5
B(1) % this doesn’t work like the code above
4 commentaires
Adam
le 8 Fév 2017
If B is a field of A why are you trying to create a variable B that represents the whole of A.
Just A.( 'B' ) would give what you want. Fields are not really ordered in a struct, at least not for general usage.
Réponse acceptée
Stephen23
le 7 Fév 2017
Modifié(e) : Stephen23
le 7 Fév 2017
Although often loved by beginners, dynamically accessing variable names is not a robust, fast, or good way to write code. It makes code hard to read, slow, difficult to debug, and has other disadvantages too:
If you really need to access the names dynamically, then consider using a structure: it is fast and easy to access structure field names dynamically:
S.A = [5,6,7,8];
x = 'A';
S.(x)
0 commentaires
Plus de réponses (2)
Star Strider
le 7 Fév 2017
MATLAB does not recognise char(0145) and char(0146) as quotation marks in code.
A = [5 6 7 8];
B = 'A' % Sets ‘B’ TO Be Character ‘A’
B = A
B(1)
produces:
B =
A
B =
5 6 7 8
ans =
5
0 commentaires
Voir également
Catégories
En savoir plus sur Whos dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!