finding peak to draw a smooth curve
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Star Strider
on 14 Aug 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
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!