15

ヒストグラムから2つのピークを検出する方法を理解しようとしていました。複数ある場合もありますが、最も高い2つを選択する必要があります。基本的に私がしなければならないことは、これらのピークを左または右にシフトさせますが、それらを把握する必要があるということです。それらの広がりは変化する可能性があり、それらのPEAK値は変化する可能性があるため、Matlabでこれら2つのピークを取得する方法を見つける必要があります。

これまでに行ったことは、5つの値のウィンドウを作成することです。このウィンドウにはヒストグラムの値が表示され、スキャンが実行されます。次の値に5ステップ進むたびに、前のウィンドウの値を現在の値と比較します。どちらか大きい方が保持されます。

これを行うためのより良い方法はありますか?

ここに画像の説明を入力してください

4

2 に答える 2

6

これを行う最も簡単な方法は、最初にガウスカーネルを使用してデータを平滑化し、高周波変動を除去することです。

次に、関数localmaxを使用して極大値を見つけます。

于 2012-04-24T19:02:48.387 に答える
5

hist(またはhistc)関数から変数()にデータを返し、PEAKFINDERFileExchangey = hist(x,bin);送信を使用して極大値を見つけます。

EliBillauerのPEAKDET関数も使用しました。よく働く。ここでコード例を使って私の答えを確認できます。

于 2012-04-24T17:46:58.350 に答える