how does the function findpeaks work in matlab?
Mostrar comentarios más antiguos
I use the function findpeaks to detect peak in a vector,it worked as i expected,but I want to understand how does it work,and what the principle it use.
n=0:1:10;
x = [25 8 15 5 6 10 10 3 1 20 7];
[k,v]=findpeaks(x);
plot(n,x,'b');grid;hold on
plot(n(k),v,'r.');
Can anyone can help me?I will be very appreciate for your kindness.
Respuestas (2)
Rik
el 3 de Mayo de 2017
0 votos
pks = findpeaks(data) returns a vector with the local maxima (peaks) of the input signal vector, data. A local peak is a data sample that is either larger than its two neighboring samples or is equal to Inf. Non- Inf signal endpoints are excluded. If a peak is flat, the function returns only the point with the lowest index.
So that's how it works.
2 comentarios
yawen kang
el 3 de Mayo de 2017
Jan
el 3 de Mayo de 2017
@yawen: It seems like you noticed, that the code is not readable. Please edit your comment and use the "{} Code" button for a proper formatting. Thanks.
yawen kang
el 3 de Mayo de 2017
3 comentarios
Rik
el 3 de Mayo de 2017
If you wan't to look into the function itself, type edit findpeaks and you will see the code Matlab uses.
BTW, as this isn't an answer to your question, but a follow up question based on my answer, you shouldn't use the answer option, but comment instead on my answer.
Adam
el 3 de Mayo de 2017
What is the relevance of that code anyway? It doesn't even include a call to findpeaks!
Rik
el 3 de Mayo de 2017
Skimming this code, it looks like it aims to replicate findpeaks, although this version doesn't return the first index of a plateau, but the middle.
Categorías
Más información sobre 描述性统计量 en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!