To find local maxima in MATLAB, you can use the findpeaks
function from the Signal Processing Toolbox. This function returns the peak values and their corresponding indices in the input signal. Here is an example code snippet:
main.m171 chars11 lines
In this example, we generate a test signal x
which is a sine wave. We then use the findpeaks
function to find the local maxima of x
, and store the peak values in the vector pks
and their corresponding indices in the vector locs
. Finally, we plot the signal and the local maxima using the plot
function, with the local maxima denoted by red circles.
Note that you need to have the Signal Processing Toolbox installed to use the findpeaks
function. If you don't have access to this toolbox, you can implement your own algorithm to find local maxima. One approach is to loop through the signal and compare each sample to its neighbors to detect local peaks.
gistlibby LogSnag