2

同じ開始時刻を持たない時系列があり、それらの共通部分を見つけたいと思います。

元:

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関数はありますか?


編集:

アルゴリズムを見つけましたが、時間がかかりすぎて、100000 ポイントの 6 つの時系列を分析するためにメモリが飽和状態になっています。アルゴリズムが適切に記述されていませんか、それとも最長共通部分文字列問題の方法ですか?

4

1 に答える 1

1

この問題は、最長共通部分文字列問題と呼ばれます。

http://en.wikipedia.org/wiki/Longest_common_substring_problem

実装するのはそれほど難しいことではなく、オンラインで Matlab コードを見つけることもできます。c(x,y,z) = c(x,c(y,z)) という理由で、2 つの時系列の解法を知​​っていれば、N の解法も知っていることに注意してください。

于 2012-07-28T04:01:37.790 に答える