calculate FWHM and area of multiple peak
조회 수: 8 (최근 30일)
이전 댓글 표시
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
채택된 답변
Star Strider
2018년 7월 28일
‘... 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.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!