how to find location of right peaks?

3 次查看(过去 30 天)
hello,i have a signal and wanted to find location of peaks and the right peaks.
time=y16;
signal=y15;
%convert to analog
Signal=(5*signal/1023);%anole removing DC offset
indexmin=find(min(Signal)== Signal)
xmin=time(indexmin)
ymin=Signal(indexmin)
indexmax=find(max(Signal)== Signal)
xmax=time(indexmax)
ymax=Signal(indexmax)
plot(time, Signal)
SSignal=smooth(Signal, 40);% smooth signal to find peaks
pks=findpeaks(SSignal)
size(pks)
hold on
plot(time, SSignal,'o')

采纳的回答

Star Strider
Star Strider 2016-3-21
Use findpeaks with two outputs:
[pks,locs] = findpeaks(SSignal);
The ‘locs’ variable will have the index values of the peaks it returns in the ‘pks’ variable.
To plot them, use ‘locs’ as a subscript in the vectors in your second plot call:
plot(time(locs), SSignal(locs),'o')

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by