Peak detection without using findpeaks()
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Following is the code to find peaks.What input should be given to run the function along with threshold.I tried giving both file and the col as inputs,but fail to detect peaks.I gave 0.75 as the threshold.Attached is the data I am working with. There is something else going on with logic,please help!
file = 'forRef_2.xls';
col = xlsread(file,'J:J');
function [peaks, locations] = peakdet (mag, threshold)
len = length(mag);
prev = 1;
cur = 2;
next = 3;
k = 1; %number of peaks
while next < len
    if mag(cur) - mag(prev) > threshold
        if mag(cur) > mag(next)
            peaks(k) = mag(cur);
            fprintf('peak at %d has magnitude %d\n', cur,mag(cur));
            k = k + 1;
        end
    end
    prev = cur;
    cur = next;
    next = next + 1;
end
end
7 comentarios
  KSSV
      
      
 el 19 de Abr. de 2017
				So you want to find the maximum value which is less then the threshold from the column?
Respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!