我的时间序列没有相同的开始时间,我想找到它们的共同部分。
EX:
a=[ 0,1,2,3,4,5,6,7]
b=[ 2,3,4,5,6,7,8,9]
c=[-1,0,1,2,3,4,5,6]
result=[2,3,4,5,6]
有没有matlab功能呢?
我找到了一个算法,但它一直在采用,并且分析了6个100000点的时间序列,这让我记忆犹新。算法编写不正确还是最常见的子串问题?
答案 0 :(得分:1)
该问题被称为最长公共子字符串问题。
http://en.wikipedia.org/wiki/Longest_common_substring_problem
实现起来并不难,您也可以在线找到Matlab代码。重要的是要注意,如果你知道如何解决2个时间序列,你知道如何求解N,因为:c(x,y,z)= c(x,c(y,z))