1

次のようなA行列があるとします。

A =    [0,0,0,0,0,0,106,10,14,20,20,23,27,26,28,28,28,23,28,28,21,18,106,14,12,
17,16,15,22,19,20,18,21,23,23,18,17,15,106,28];

>>  plot(A)

このデータセットのピークのインデックスが必要です。この例で私が探している答えは、「データカーソル」を絶対ピークに置いたときに、曲線にそれらのx値を含む行列です。

私が欲しい答えK = [7 23 39]は、ピークの位置です。

MATLABでコマンドを使用するplotと、ピークがはっきりと表示されます。絶対ピークのx値を見つけるにはどうすればよいですか?出来ますか?

4

2 に答える 2

5

これにより、すべてのピークが得られるわけではありませんが、セット内の最大値が得られます。

max_locations = find(A==max(A))

ピークを見つけたい場合は、findpeaks関数を使用してください。

[peakVal,peakLoc]= findpeaks(A);
于 2013-03-25T11:10:09.030 に答える
0

最大5つまたは10のピークが必要な場合は、次を使用します

[peakVal,peakLoc]= findpeaks(A,'sort','descend');
于 2014-10-23T02:56:46.073 に答える