How to find out distance among peaks from a plot?

72 次查看(过去 30 天)
some binary intensity values have stored in a profile and has been plotted. And getting some peaks from it. Here plot function has been used. How to find out distance among the peaks?

回答(2 个)

Wooshik Kim
Wooshik Kim 2018-7-5
findpeaks gives you location of the peak as well
[pks,locs] = findpeaks(PeakSig,x);
dist = locs(2) - locs(1); %or whichever two peaks you want to know about
  2 个评论
Zara Khan
Zara Khan 2018-7-6
编辑:Zara Khan 2018-7-6
For different different graphs I am getting different different peaks. after counting no of peaks I want to find out distance between each of them means distance between first and second, between second and third and so on. How to do that ?

请先登录,再进行评论。


Rahul punk
Rahul punk 2019-3-15
%If y is your signal
x=10:0.1:100;
y=100*cos(x)./x;
plot(x,y)
% you have to specify what is the major peak
min_peak=2
[peaks,idx1]=findpeaks(y)
% Major peaks and indices
[major_peaks, index]=find(peaks>=min_peak)
indices=idx1(index)
%distances
distances=mean(diff(indices))

Community Treasure Hunt

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

Start Hunting!

Translated by