MATLAB Answers

Finding multiple x-intercepts for a dataset

3 views (last 30 days)
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.

Accepted Answer

William Rose
William Rose on 28 Jun 2021
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.

Sign in to comment.

More Answers (1)

William Rose
William Rose on 28 Jun 2021
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.




Community Treasure Hunt

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

Start Hunting!