findpeaks() neglecting the high amplitude peaks.Does not work as exptected

1 vue (au cours des 30 derniers jours)
I am attaching herewith the data i am working with. Findpeaks() is not detecting the highest amplitude peaks. Attached is the data I am working with. Following is the code:
file = 'forRef_2.xls';
col = xlsread(file,'J:J');
peaks=findpeaks(col);
[pks,locs] = findpeaks(col);
%both on same plot
figure
plot(col,'r')
hold on
plot(locs,pks,'pg', 'MarkerFaceColor','b')
legend('original','peaks')
  4 commentaires
Andrew Newell
Andrew Newell le 18 Avr 2017
And do you use exactly the code you have provided above? Or do you select one of the columns in col?

Connectez-vous pour commenter.

Réponse acceptée

Andrew Newell
Andrew Newell le 18 Avr 2017
When I try this code, I get 7 plots, and figure 7 looks like your figure except that all the peaks are correctly identified:
file = 'forRef_2.xls';
col = xlsread(file,'J:J');
for ii=1:size(col,2)
peaks=findpeaks(col(:,ii));
[pks,locs] = findpeaks(col(:,ii));
%both on same plot
figure
plot(col(:,ii),'r')
hold on
plot(locs,pks,'pg', 'MarkerFaceColor','b')
legend('original','peaks')
end
  11 commentaires
Andrew Newell
Andrew Newell le 19 Avr 2017
Glad to hear that you got it working!
preeti visweswaran
preeti visweswaran le 19 Avr 2017
I would be grateful to you if you could advise me another problem posted in https://www.mathworks.com/matlabcentral/answers/336003-peak-detection-without-using-findpeaks

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by