2013-11-28 2 views
1

В настоящее время я работаю над структурой в MATLAB и задаю вопрос относительно этого.Имя поля структуры, ссылаясь на значение в MATLAB

Допустим, я декларируют-структуру: structVariable = структура ('ABC', [], 'CDE', [])

т.е. structVariable =

abc: [] 
cde: [] 

Далее у меня есть переменная char,

charVariable = 'abc';

Теперь я пытаюсь использовать structVariable.abc с чем-то вроде

structVariable.charVariable = 5;

но это не работает. Можно ли ссылаться на значение charVariable с чем-то вроде & charVariable, как в C++?

ответ

0

Чтобы установить значение поля:

setfield(structVariable,charVariable,5) 

Чтобы получить значение поля:

getfield(structVariable,charVariable) 
+1

Обратите внимание, что это работает только если 'structVariable' уже существует. Это может быть или не быть хорошо, но не совсем имитирует 'structVariable.abc'. –

+0

@DennisJaheruddin Хорошая точка –

1

Это, кажется, самый простой способ:

structVariable.(charVariable) = 5; 
+0

+1 Я не знал этого синтаксиса '()' для полей структуры –

+0

Это было именно то, что я искал :) Спасибо! – monarch

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