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!