matlab中的动态变量名称
dynamic variable names in matlab
我希望用另一个结构 (BT
) 中的多个字段扩展一个结构 (bac
)。这些字段的名称作为字符串包含在元胞数组 (adds
) 中。
这就是我现在所拥有的(显然没有完成这项工作,解释这个 post):
for i=1:numel(adds)
eval(genvarname('bac.',adds{i})) = eval(strcat('BT.',adds{i}));
end
我也尝试过使用 sprintf
,但似乎对我不起作用。我相信你们中的一个人知道该怎么做,因为我觉得它应该很容易。
最好的方法是使用 dynamic field names:
for i=1:numel(adds)
bac.(adds{i}) = BT.(adds{i});
end
我希望用另一个结构 (BT
) 中的多个字段扩展一个结构 (bac
)。这些字段的名称作为字符串包含在元胞数组 (adds
) 中。
这就是我现在所拥有的(显然没有完成这项工作,解释这个 post):
for i=1:numel(adds)
eval(genvarname('bac.',adds{i})) = eval(strcat('BT.',adds{i}));
end
我也尝试过使用 sprintf
,但似乎对我不起作用。我相信你们中的一个人知道该怎么做,因为我觉得它应该很容易。
最好的方法是使用 dynamic field names:
for i=1:numel(adds)
bac.(adds{i}) = BT.(adds{i});
end