I've been given a signal, how can I find the peaks with the islocalmax function?

How can I find the peaks using the islocalmax function, with the attachment below as my only source of information?

4 Comments

Is there something about the demo code, or your data, in the help that prevents you from using hte demo code?
What do you mean? The link is just some values for an ECG and that's it
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.
I have no idea, I’ve tried that code already, but I ended up figuring it out, thank you

Sign in to comment.

 Accepted Answer

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;
0000 Screenshot.png

4 Comments

You say "I have no idea, I’ve tried that code already, but I ended up figuring it out, thank you". Would you mind sharing your code with us, since it sounds like it was totally different than what I posted.
Yes of course. This is what I did.
Signal;
y = Signal;
x = 0:2500;
m = islocalmax(y);
plot(Signal);
hold on;
plot(x(m), y(m),'k*')
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.
Yeah it is, and yes I will, thanks so much for the help!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!