如何在附加字段中标记结构数组元素?

时间:2017-01-31 19:25:09

标签: matlab

我有一个包含5个字段的1800x1结构数组。在“试验”字段中,我存储了14个不同的数字,这些数字表示证据试验特征。因此,例如,如果1代表奖励试验,2代表无奖励试验,我想添加另一个字段,告诉我相应的其他字段的标签。关于如何做到的任何想法?

1 个答案:

答案 0 :(得分:1)

假设您有这些数据:

a = num2cell(randi(3,15,1));
strings = {'Laurie','rewarded trial','yada yada'};
s = struct('trail',a,'name',[]);

其中s(k).trail中的值是strings要分配给s(k).name的索引,您可以写:

s = struct('trail',a,'name',strings(cell2mat({s.trail})).');

或者,您可以使用循环执行此操作:

for k = 1:size(s,1)
    s(k).names = strings{s(k).trail};
end