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
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
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!