Find the index of the first integer of an array in another array
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to find the index of the first integer of an array in another array. For example.
I have array A = [ 0 0 0 ] and I have array B= [ 1 2 3 4 0 0 0 5 6 7 0 0 8 9 ]
A = [ 0 0 0 ];
B= [ 1 2 3 4 0 0 0 5 6 7 0 0 8 9 ];
I want find the index of array B where array A starts. In this case array A starts from index 5 in array B.
So my outcome should be:
ans = 5
The thing I am looking for looks like find() but instead of finding just one value, I am searching for multiple values in succession of each other.
0 个评论
采纳的回答
dpb
2020-5-1
Easier to find repeated patterns with string pattern searches than as vector arrays--
ix=strfind(sprintf('%d',ismember(B,A)),repmat('1',1,numel(A)));
2 个评论
Tommy
2020-5-1
Using strfind is brilliant! To expand on this, if A happens to contain different values:
ix=strfind(sprintf('%d',B),sprintf('%d',A));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!