How can i display a list of maximum of a curve ?

2 次查看(过去 30 天)
Hi
I have a curve Amplitude=f(frequency) and i want to know the abscissa of all maximums.
Please help me.

采纳的回答

Antonio Aguirre
Antonio Aguirre 2016-12-14
编辑:Antonio Aguirre 2016-12-14
Try looking up the findpeaks() function.
https://www.mathworks.com/help/signal/ug/find-peaks-in-data.html
Seems to take in a curve and find the peaks and output the location of those 'n' # of peaks.
your code should look something like this:
________________________________________
frequency = some matrix of frequencies;
Amplitude=f(frequency);
[pks, locs] = findpeaks(Amplitude);
%if you want to see it is true
plot(frequency,Amplitude,frequency(locs),pks)
________________________________________________
Your abscissa's that you are looking for would be essentially frequency(locs), where locs is the index number in the matrix 'frequency' that contains your independent variable (called frequency or x or abscissa) corresponding to your peaks.
Let me know if you have any questions.

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by