%Input structure
s.a=[1; 2; 1; 3; 4; 1; 2]
s.b=[4; 9; 7; 1; 0; 3; 8]
% output required
s.a=[1; 1; 1]
s.b=[4; 7; 3]
实际结构包含许多长尺寸的字段。当为字段'a'设置条件时(当a == 1时)如何提取相应的字段值。
答案 0 :(得分:3)
尝试一下并适应其他领域:
s.b(s.a==1)
要对 s 中除 a 以外的所有字段执行此操作,并将结果收集到结构 t 中,可以使用循环:>
t = struct()
fn = fieldnames(s);
for k=1:numel(fn)
t.(fn{k}) = s.(fn{k})(s.a==1);
end