How to compute the height of a peak relative to the previous amplitude before the peak?

4 ビュー (過去 30 日間)
Dear all,
I am trying to compute the height of a peak detected using findpeaks function. The peak height should be computed relative to the previous amplitude before the peak (left side), as opposed to the prominence of the peak that computes the minimum vertical distance that the signal must descend on either side of the peak before either climbing back to a level higher than the peak or reaching an endpoint.
example:
The left subplot is the result of the function findpeaks on the signal: The first peak prominence equals the wanted height, since it was computed realtive to the horizontal line (1). The second peak prominence does not equal the wanted height since it was computed realtive to the same horizontal line (1).
The right subplot is the result wanted: The second peak's height should be computed relative to the horizontal line (2).
Please help.
  2 件のコメント
Alex Mcaulley
Alex Mcaulley 2020 年 1 月 7 日
編集済み: Alex Mcaulley 2020 年 1 月 7 日
Do you mean this?
%Being A your data:
findpeaks(diff([0,A]))

サインインしてコメントする。

採用された回答

Sylvain Lacaze
Sylvain Lacaze 2020 年 1 月 8 日
Hi Med,
Can you trust that you want the amplitude with respect to the sample point prior to the peak?
Something like:
[~, peakLocations] = findpeaks( a );
amplitude = arrayfun( @(location) a(location) - a(location-1), peakLocations );
HTH,
Sylvain
  2 件のコメント
Med Aymane Ahajjam
Med Aymane Ahajjam 2020 年 1 月 9 日
Hi there SIlvian,
thank you very much! it works!
Teo Bistoni
Teo Bistoni 2020 年 10 月 7 日
Hi sylvain, what if i don't know if there is another sample point between the peak and the minimum?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by