Find a specific array within a larger array
29 次查看(过去 30 天)
显示 更早的评论
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 个评论
Dyuman Joshi
2023-11-28
移动:Dyuman Joshi
2023-11-28
a = [11 12 13 14 15 16 13 14]
b = [13 14 15]
strfind(a, b)
Dyuman Joshi
2023-11-28
移动:Dyuman Joshi
2023-11-28
Ah, it seems that I'm just a little late to the party.
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!