2016-10-03 14 views
0

2つの関数がある場合、f(x)とg(x)とし、gの一部分に似たfの最長部分を探したいと思います。彼らは開始位置で互いに類似十分ですが、彼らはランダムな位置にどのようなところならば、それはかなり明白であるenter image description hereMatlab 2D関数のサブシーケンスの類似度

:たとえば
は、以下の図を検討しますか?
それはポイントです、私は最も長い同様の部分を発見する必要があります...いくつかのヒント?
私の場合、2つの「機能」とは、2つの曲の配列rappresentationであり、私はそれらのほとんど似た部分を見つけたいので、彼らはrappresentationの99%で異なる

  1. ことになっていますランダムな位置にあるenter image description here
  2. かろうじて類似した(下の2番目の例を参照):orizo​​ntalラインを除いて、完璧なマッチングが

答えて

1

を見つけられると期待されることはありませんあなたは(相互相関を使用していることを行うことができますxcor)。

このメソッドは、2つの信号の相関を、その間の「オフセット」ごとに計算します。最大の相関点は、signal1と一致するようにsignal2に与える必要があるオフセットになります。使用例と使用方法については、ドキュメントを参照してください。

+0

「信号」がまったく異なる場合でもこれは機能しますか?私は私のポストを私の目標をより明確にメークに編集しました:) – Fujitina

+0

「gのある部分に似ているfの最も長い部分を見つけたいです。これがその方法です。歌が似ていない場合、類似点を探すときは、それを見つけることができないかもしれません。その論理的な仮定。それでも、このメソッドは、最も似ている場所でも、たとえ "本当に似ていない"場合でも使用します。 –

+0

@Fujitina部分が必要な場合は、 'f'の長さに応じて' xcorr'を計算する必要があります。オプション –

関連する問題