D = load('Krispy Scripts example.mat');
datain=D.datain;
fs=4e4;
t = linspace(0, 1, length(datain))'/fs;
[pks,locs,w,p]=findpeaks(datain,t,'NPeaks',4);
inverted=max(datain)-datain;
pksmean=mean(pks);
[valleys,locsvalley,wvalley,pvalley]=findpeaks(inverted,'NPeaks',4,'WidthReference','halfheight');
valleysmean=mean(valleys);
peakvalleyratio=pksmean/valleysmean;
halfwidthaveragevalleys=mean(wvalley);
valleys_actual = datain(locsvalley);
valleys_time = t(locsvalley);
figure(1)
plot(t, datain)
hold on
plot(locs, pks, '^r', 'MarkerFaceColor','r')
plot(valleys_time, valleys_actual, 'vr', 'MarkerFaceColor','r')
hold off
grid
Best Answer