Я не уверен, что это возможно в Matlab, но мы хотели убедиться.Matlab: структуры с переменным именем как индекс
У меня есть структуры, как:
x = struct();
x.val1 = 5;
x.val2 = 7;
y = struct();
y.val1 = 15;
y.val2 = 17;
Я хочу, чтобы создать структуру DataStore как:
DataStore = struct;
DataStore(x).val1 = 5
DataStore(x).val2 = 7
DataStore(y).val1 = 15
DataStore(y).val2 = 17
ИЛИ
DataStore = struct;
DataStore('x').val1 = 5
DataStore('x').val2 = 7
DataStore('y').val1 = 15
DataStore('y').val2 = 17
Итак, я использую имя оригинала структурные переменные как индекс для DataStore.
Возможно ли это?
Edit:
Я стремлюсь использовать DataStore следующим образом:
disp(DataStore('x').val1)
disp(DataStore('y').val2)
Вы ищете [конкатенацию структур в MA TLAB] (http://de.mathworks.com/help/matlab/matlab_prog/concatenate-structures.html)? –
Почему бы просто не сделать Datastore.x.val1 = 5' и т. Д.? – Suever