calculate FWHM and area of multiple peak
4 views (last 30 days)
Show older comments
Hi, I have a graph that contains multiple peaks, I want to calculate the area of the peak and FWHM of each peak. I want to use the formula, Area = Height * FWHM.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/192739/image.png)
In Matlab is there any default function to calculate FWHM and area. The curves are magnitude diagrams in the log scale. If I plot in linear scale the power of peak is near to zero. When I use the function to find peaks
[pks,locs,widths,proms] = findpeaks(x,y);
it gives 1×0 empty double row vector. Is it right way to calculate area from log scale graph? Any suggestions from anyone. Thank in advance.
0 Comments
Accepted Answer
Star Strider
on 28 Jul 2018
‘... it gives 1×0 empty double row vector.’
That is most likely because the dependent variable vector (is this ‘y’ in your code?) must be the first argument to findpeaks (link).
Try this instead:
[pks,locs,widths,proms] = findpeaks(y,x);
or preferably, just return the indices of the peaks in the ‘locs’ output with:
[pks,locs,widths,proms] = findpeaks(y);
I find the indices easier to work with.
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!