Finding multiple x-intercepts for a dataset
조회 수: 4 (최근 30일)
이전 댓글 표시
I have a 2-D dataset that crosses the x-axis multiple times.
I would like help making a function that will return all the x values at which y = 0.
Any help for a day 1 newbie would be much appreciated!
Possibly helpful background: I'm analyzing sound spectra. I would like to find the peaks of the signal by finding where the 1st derivative crosses the x-axis.
댓글 수: 0
채택된 답변
William Rose
2021년 6월 28일
Matlab has a very nice peak finding function, findpeaks(), help here: It has nice options, including threshold, minimum peak prominence, minimum horizontal (i.e. time or frequency, in your case) separation, etc.
댓글 수: 3
추가 답변 (1개)
William Rose
2021년 6월 28일
You said you have a 2D dataset. If you mean the spectrogram, the time dependent Fourier transform, then findpeaks() is not the right answer since it is for 1D signals.
See this quesiton and answer: https://www.mathworks.com/matlabcentral/answers/399125-how-can-i-find-the-peaks-of-a-surface-i-e-2-d-data-instead-of-1-d
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!