我有一个向量“a”和一个过滤器“b”。这两个向量都只包含 0 或 1。我想转换“a”,以便任何 1 的序列仅在 b 为 1 时开始。
我已经使用循环来说明这一点,但是由于我的向量很大,因此效率极低。
我想要的结果存储在“r”中。
a=[0;0;1;1;1;1;1;1;0;0;1;1;0;0;1;1;1;1;1];
b=[0;0;0;0;1;0;1;0;0;1;0;1;0;1;1;0;0;0;0];
r=[0;0;0;0;1;1;1;1;0;0;0;1;0;0;1;1;1;1;1];
for i=2:length(a)
if a(i)==1 &&a(i-1)==0 && b(i)==0
a(i)=a(i-1);
end
end
assert(sum(a==r)==length(a))