finding peak to draw a smooth curve

2 vues (au cours des 30 derniers jours)
Sowmya MR
Sowmya MR le 14 Août 2019
Hi All,
I have attached a plot (blue) in which i want to identify peaks (red circle) and draw a smooth curve with similar shape (black) joining the detected read peaks. Can someone please help me here?
Thanks
Sowmya

Réponse acceptée

Star Strider
Star Strider le 14 Août 2019
Try this:
x = 0:10; % Create Data
y = rand(1,11); % Create Data
[pks,locs] = findpeaks(y); % Peaks ^ Location Indices
xi = linspace(min(x), max(x), 75); % Interpolation Vector
yi = interp1(x([1 locs end]), y([1 locs end]), xi, 'pchip'); % Interpolate
figure
plot(x,y)
hold on
plot(x(locs), y(locs), '^r')
plot(xi, yi, '-g')
hold off

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by