MATLAB: Get the numeric value of a variable using sprintf

numeric valuesprintf

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.

Best Answer

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.