Finding several peaks in a vector
13 views (last 30 days)
Show older comments
I want to write a code that takes a vector and finds the number of "peaks", maximums or minimums, when there are several peaks.
The vector could be a different range everytime.
Also, if possible, I would like the output to give me the location in the vector.
3 Comments
Will Reeves
on 17 Feb 2023
Edited: Will Reeves
on 17 Feb 2023
"islocalmax" sure, "findpeaks"? it's in the signal processing toolbox...
I can't justify to my company the ongoing price of an entire toolbox for a single function. (As a warning, I believe Mathworks need to start rolling in some of the basic functionality into base Matlab. I'm constantly being pulled in the direction of python by my colleagues, I'm not a fan really, but at some point they're going to win)
Generic data exploration tools really should be included with Matlab.
Star Strider
on 17 Feb 2023
@Will Reeves — See the What is missing from MATLAB #2 - the next decade edition thread and discuss it there.
Your concerns may already have been mentioned. (I don’t follow that thread closely.)
Answers (1)
Sai Veeramachaneni
on 15 Dec 2020
Hi,
You can use islocalmax and islocalmin functions to calculate locations of local maximums and minimums respectively.
You can use sum function over islocalmax and islocalmin to count number of peaks in the given vector.
0 Comments
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!