Matlab 如何在一个向量里找到一个子向量并返回子向量的位置?

比如在[1 0 1 1 1 1 0 0 1 0 1 0]中我想找到[1 0 0 1],并返回位置,应该怎么做?

第1个回答  2010-08-07
strfind([1 0 1 1 1 1 0 0 1 0 1 0],[1 0 0 1])本回答被提问者采纳
第2个回答  2010-08-07
下面的例子提供了一种解决方案
>> a

a =

1 0 1 0 1 0 0 1 0 0 1 1 1

>> k=1;i=1;
while(i<=length(a)-3)
if a(i)==1
if a(i+1)==0
if a(i+2)==0
if a(i+3)==1
flag(k)=i;
k=k+1;
end
end
end
end
i=i+1;
end
>> flag

flag =

5 8

>>
该代码遍历数组a,搜索1001的存在,并将1 0 0 1中第一个1的位置储存于数组flag中。
你应该不费力就能理解该代码。有疑问请在问题补充中说明或者留言~~~

ps:突然发现楼上提供了系统集成的函数,这个赞了。
相似回答