Matlab:变量名称为索引的结构

时间:2016-03-19 21:18:03

标签: matlab

我不确定这在Matlab中是否可行但是想确定。

我的结构如下:

free

我想创建一个结构DataStore:

x = struct();
x.val1 = 5;
x.val2 = 7;

y = struct();
y.val1 = 15;
y.val2 = 17;

OR

DataStore = struct;
DataStore(x).val1 = 5
DataStore(x).val2 = 7
DataStore(y).val1 = 15
DataStore(y).val2 = 17

所以,我使用原始结构变量的名称作为DataStore的索引。

以上是否可行?

编辑:

我的目标是使用DataStore如下:

DataStore = struct;
DataStore('x').val1 = 5
DataStore('x').val2 = 7
DataStore('y').val1 = 15
DataStore('y').val2 = 17

1 个答案:

答案 0 :(得分:4)

使用结构,可能使用动态字段名称。

或者:

DataStore.x.val1=6
DataStore.x.val2=9

替代动态字段名称(结果相同):

f='x'
DataStore.(f).val1=6
DataStore.(f).val2=9

如果val1val2不仅仅是占位符,请使用数组替换它们:

DataStore.(f).val(1)=6
DataStore.(f).val(2)=9