I've been given a signal, how can I find the peaks with the islocalmax function?
6 views (last 30 days)
Show older comments
Hannah Oduntan
on 21 Dec 2018
Commented: Hannah Oduntan
on 29 Dec 2018
How can I find the peaks using the islocalmax function, with the attachment below as my only source of information?
4 Comments
Image Analyst
on 22 Dec 2018
Edited: Image Analyst
on 22 Dec 2018
For example when the help documentation gave the example:
x = 1:100;
A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);
TF = islocalmax(A);
plot(x,A,x(TF),A(TF),'r*')
Is there some reason you couldn't replace the A with your data?
See my answer below where I did that for you.
Accepted Answer
Image Analyst
on 22 Dec 2018
All you have to do is to put your signal in for the "A" in the help demo. Try this:
s = load('signals (1).mat')
signal = s.Signal;
% Find local max, following the demo in the help
x = 1 : length(signal);
TF = islocalmax(signal);
plot(x, signal, x(TF), signal(TF), 'r*')
grid on;

4 Comments
Image Analyst
on 29 Dec 2018
OK thanks. Though it pretty much looks like my code except that you use black stars instead of red ones, plot in two lines of code instead of 1, and have different variable names. But it's substantially the same except for very minor differences. Would you mind "Accepting this answer" so others know it's solved.
More Answers (0)
See Also
Categories
Find more on Measurements and Feature Extraction 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!