我试图从具有某个值的字段的向量中删除所有结构,我尝试了这个但是得到了#34;错误使用了== 输入参数太多。"
s1 = struct('number', 2, 'value', 3);
s2 = struct('number', 3, 'value', 4);
s3 = struct('number', 3, 'value', 5);
aT = [s1, s2, s3];
aT(aT.number == 3) = [];
我想aT只有[s1],任何帮助都会很棒!感谢
答案 0 :(得分:0)
在结构数组上使用logical indexing代替:
idx = (cat(1,aT.number) == 3);
result = aT(idx);
使用cat
是因为访问struct字段的操作输出了一种以逗号分隔的列表,需要将其连接到一个向量。