Finding the mean values of peak values using "findpeaks" function and displaying it

5 views (last 30 days)
How do you find the mean values of specified peak values using "findpeaks" function and displaying it.
Below is my code of generating this graph
load a1.mat
data = a1(:,2)
findpeaks(data,"MinPeakHeight",50,"MinPeakDistance",290)

Answers (1)

Chunru
Chunru on 6 Mar 2024
Edited: Chunru on 6 Mar 2024
% load a1.mat
% data = a1(:,2)
% sample data
x = linspace(0,1,1000);
Pos = [1 2 3 5 7 8]/10;
Hgt = [3 4 4 2 2 3];
Wdt = [2 6 3 3 4 6]/100;
for n = 1:length(Pos)
Gauss(n,:) = Hgt(n)*exp(-((x - Pos(n))/Wdt(n)).^2);
end
data = sum(Gauss);
[pks, loc] = findpeaks(data,"MinPeakHeight",2.50,"MinPeakDistance",10, "Annotate", "peaks");
plot(x, data, "b-", x(loc), pks, 'rv')
mp = mean(pks);
title("Mean Peak: "+mp)

Tags

Community Treasure Hunt

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

Start Hunting!