finding peak to draw a smooth curve

3 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2019-8-14
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 个)

Community Treasure Hunt

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

Start Hunting!

Translated by