0

私はMatLabでfindpeaksを使用して波形の最大点と最小点を問題なく見つけてきましたが、過去20分ほどでエラーが発生しました:

??? 添え字のインデックスは、実数の正の整数または論理値のいずれかでなければなりません。

理由がわかりません。テスト データを使用して簡単な演習を試みても、同じエラーが発生しました。たとえば、データセットがある場合:

test = [ 0.1 0.5 0.9 0.5 0.2 0.6 1.0 0.7 0.3 0.1 ]

コードを使用しました:

peaks = test(findpeaks(test));

私は結果を期待します:

peaks = [0.1 0.9 0.2 1.0 0.1 ]

しかし、何らかの理由で、これはもはや当てはまりません。

お知らせ下さい。

4

1 に答える 1

1

Findpeaksは、インデックスではなく、ピーク値を返します。これを試して。

peaks=findpeaks(test)

極小値も見つけたい場合は、

peaks = [findpeaks(test) -findpeaks(-test)]
于 2012-04-16T20:54:34.490 に答える