MATLAB: How to summon a double variable that it’s name was stored in a string


during my program I want to summon a double variable that it's name saved in a string before!How can do it?

Best Answer

  • Use eval. For example
    xxx = 3; % variable with value
    varname = 'xxx'; % name of variable stored as a string
    % ... other stuff ...
    val_of_xxx = eval(varname); % gets back value of xxx
    But think carefully about whether you really need to do this. It's often the case that there's a better way to write your program, perhaps using structure arrays or cell arrays, that avoids having to store variable names as strings. If there is, it's usually much better to avoid using eval.