Get the numeric value of a variable using sprintf

1 view (last 30 days)
Hi,
How can I get the numerical value of a variable doing something like this:
num_1=2;
num_2=5;
num=3=9;
random_num=randsample([1 2 3],1)
Time=sprintf('num_%d',random_num)
Then I get Time=num_X but what I want is to get the numerical value associated to num_X
Any clue on how to do it?
Thank you very much.

Accepted Answer

Star Strider
Star Strider on 25 Oct 2015
The only way I can think to do it is to use the ‘evil eval’:
Time - num_2
Time = eval(Time)
Time =
5
But as Walter wrote, it’s best to avoid it altogether.

More Answers (1)

Walter Roberson
Walter Roberson on 25 Oct 2015

Community Treasure Hunt

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

Start Hunting!