# How to find out distance among peaks from a plot?

144 views (last 30 days)
Zara Khan on 5 Jul 2018
Answered: Rahul punk on 15 Mar 2019
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?

doc findpeaks
if you have the Signal Processing toolbox
Zara Khan on 5 Jul 2018
Yes. But distance I am not able to find

Wooshik Kim on 5 Jul 2018
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

Zara Khan on 6 Jul 2018
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 ?
diff( locs )

Rahul punk on 15 Mar 2019
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))