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

1 次查看(过去 30 天)
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 个评论
Andrew Newell
Andrew Newell 2017-4-18
And do you use exactly the code you have provided above? Or do you select one of the columns in col?

请先登录,再进行评论。

采纳的回答

Andrew Newell
Andrew Newell 2017-4-18
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 个评论
preeti visweswaran
preeti visweswaran 2017-4-19
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

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by