How do you set a variable name to a variable value?

70 views (last 30 days)
If I make a variable ( a = 'name' ), I want to set the variable name with the value of a.
ex) ( name = )
  4 Comments

Sign in to comment.

Accepted Answer

Dave B
Dave B on 6 Aug 2021
Edited: Dave B on 6 Aug 2021
You can do this with eval, but you are likely to regret this.
a = 'Pi';
val = pi;
eval(a + " = " + val);
Pi = 3.1416
This link has some alternatives to using string evaluation to run code. It's a bad/dangerous style and there's almost always a better approach.
If you must name your variables with another variable, consider using fields of a struct rather than raw variables:
mydynvars=struct;
a = 'Pi';
b = 'e';
mydynvars.(a) = pi;
mydynvars.(b) = exp(1);
mydynvars
mydynvars = struct with fields:
Pi: 3.1416 e: 2.7183

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!