Getting the value of variable from its name

166 views (last 30 days)
I have variable name saved as a string in an array. I want to read the value of the variable into another array. Is there a function in matla which takes variable name as input and returns the value of that variable.

Answers (1)

Benjamin Kraus
Benjamin Kraus on 4 Jun 2021
Edited: Benjamin Kraus on 4 Jun 2021
eval will do this, but see the link posted by Stephen explaining all the reasons you should avoid using eval: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
For example:
a = 1:10;
varName = 'a';
b = eval(varName);
  1 Comment
Stephen23
Stephen23 on 2 Nov 2023
"see the link posted by Stephen explaining all the reasons you should avoid using eval:"
Correction: "see the link by Stephen which explains the main reasons why you should avoid forcing meta-data (e.g. pseudo-indices, test parameter values, etc.) into variable names or fieldnames."

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!