Похоже, evalin - это то, что вы ищете:
a_val = evalin('base', listVariables{1});
b_val = evalin('base', listVariables{2});
Преимущество evalin
в том, что его можно выполнить из функции (вне объем рабочей области).
Пример:
В рабочей области:
a = 1:5; b = 1:10;
Содержимое my_fun.m
:
function my_fun()
listVariables = evalin('base', 'who');
a_val = evalin('base', listVariables{1});
b_val = evalin('base', listVariables{2});
display(a_val);
display(b_val);
Результат выполнения my_fun()
:
a_val =
1 2 3 4 5
b_val =
1 2 3 4 5 6 7 8 9 10
Примечание: в некоторых случаях evalin
полезен, но это не очень хорошая практика кодирования.