Find a specific array within a larger array
28 views (last 30 days)
Show older comments
Hi all,
I am struggling with a problem. I have a large array, for example a = [11 12 13 14 15 16 13 14], and I want to find the index for a specfic sub sequence eg. b = [13 14 15]. So in this example I would want the index of 3 to indicate the position that b started in a. I dont want to know the indices of a that any number within b, i instead need them to be specifically in the order b, ie I dont care about the last two 13 14 numbers in a as it isnt the entirety of b.
I know I could simply do a loop that checks b against a subset of a and loops throughout the whole of a but this seems a little ineffectient if a is very big, (in my acutal code a is many 100,000's of numbers in length).
Is there a more efficent way, any help is appreiacted.
Thanks
J
2 Comments
Dyuman Joshi
on 28 Nov 2023
Moved: Dyuman Joshi
on 28 Nov 2023
a = [11 12 13 14 15 16 13 14]
b = [13 14 15]
strfind(a, b)
Dyuman Joshi
on 28 Nov 2023
Moved: Dyuman Joshi
on 28 Nov 2023
Ah, it seems that I'm just a little late to the party.
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!