What is the meaning of "width" and "prominences" in findpeaks
32 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
It said that:
[pks,locs,w,p] = findpeaks(data) additionally returns the widths of the peaks as the vector w and the prominences of the peaks as the vector p.
w is the widths of the peaks as the vector w
I still unable to find out how they calculate the width.
In the example below:
x = linspace(0,1,1000);
Pos = [1 2 3 5 7 8]/10;
Hgt = [4 4 2 2 2 3];
Wdt = [3 8 4 3 4 6]/100;
for n = 1:length(Pos)
Gauss(n,:) = Hgt(n)*exp(-((x - Pos(n))/Wdt(n)).^2);
end
PeakSig = sum(Gauss);
Plot the individual curves and their sum
plot(x,Gauss,'--',x,PeakSig)
grid
findpeaks(PeakSig,x,'MinPeakProminence',2,'Annotate','extents','WidthReference','halfheight')
[pks,locs,w,p]= findpeaks(PeakSig,x,'MinPeakProminence', 2,'Annotate','extents','WidthReference','halfheight')
title('Signal Peak Widths')
w =
0.2352 0.1725
p =
4.8721 3.0028
Is the w is the width (half-height) and p is height as pointed in the plot?
0 commentaires
Réponse acceptée
Star Strider
le 7 Fév 2019
Is the w is the width (half-height) and p is height as pointed in the plot?
Your interpretation of ‘p’ is correct. The value of ‘w’ returned depends on how you define 'WidthReference' (link). You can define it to be full width half maximum (FWHM) if you define it as 'halfheight'.
5 commentaires
Duy Tran
le 12 Juil 2021
is it possible to get the endpoints (data points) of the widths apart from the distance?
Star Strider
le 12 Juil 2021
It would be necessary to know the half-prominence height (‘y’ value that is apparently half the ‘y’ value of the tallest peak) and then use interp1 to calculate at least one of the ‘x’ values, then adding or subtracting the FWHM value to get the second ‘x’ value. (That could be something of a challenge in the examples in this illustration.)
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!