find local max in time window

Illustration
Jessica - 2021-01-27T09:45:19+00:00
Question: find local max in time window

I'm  trying to find the local max in time window , i know that I have to define part from the signal then use the findpeaks built in function then take the max value of it.   % code pks_value=[];this to store the max value from the peaks step=200; pcg=pcg_lp2'; for i=1:200:N temp=pcg(i:i+step); [pks,locs] = findpeaks(temp); pks_value(i)=max(pks); end it give me the error msg "Index exceeds matrix dimensions. " so how to fix it , what to change

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

If you have a recent copy of MATLAB, try using movmax().

This should get you started:
 
x = randi(10,150,1);
tmp = movmax(x,5);
imvmax = find(x==tmp);
mvmax = x(imvmax);
plot(1:length(x),x,'-',imvmax,mvmax,'o')


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!