2015-02-11 3 views
0

Если, например, у меня есть переменная xa = 2, а затем я строю строку, присоединяя «x» и «a», как я могу заставить эту новую строку иметь значение 2?Строка к имени переменной MATLAB

xa=2; 
var=strcat('x','a'); 

Результатом этого является var = xa, но я хочу, чтобы var = 2.

Спасибо

+0

Используйте 'Eval()': http://www.mathworks.com/help/matlab/ref/eval.html EDIT: Код испытания, отправил ответ. – Yellows

+4

Вы * можете * сделать это, но вы * не должны * сделать это ... A [карта/словарь] (http://stackoverflow.com/questions/9850007/how-to-use-hash-tables-dictionaries -in-matlab) будет лучшим подходом, хотя в MATLAB также не очень идиоматичен. – knedlsepp

+0

Почему вы хотите сделать такую ​​ужасную вещь? – beaker

ответ

3

Использование eval():

var = eval(strcat('x','a')); 

Это будет "оценивать" строку 'xa' и перевести его на значение переменной xa.

Источник: MATLAB documentation

Смежные вопросы