MATLAB Answers

Smoothing a curve and conserving the first and the last value of the curve

2 views (last 30 days)
Hannes Frey
Hannes Frey on 17 Sep 2021
Commented: Star Strider on 20 Sep 2021
Hi all,
I am trying to smooth a simple curve with evenly spaced sample points which starts e.g. at 1 for t0 and ends at 0 for t1. Can I force the smoothing algorythm (e.g. smoothdata()) to conserve the first and the last value of the curve such dat the smoothed curve also starts at 1 at t0 and ends at 0 at t1?
Thanks a lot!

Accepted Answer

Star Strider
Star Strider on 17 Sep 2021
Probably the only way to do that is to use the 'SamplePoints' name-value pair, and smooth all but the beginning and end points —
x = 1:25;
y = randn(size(x));
ys = smoothdata(y(2:end-1), 'SamplePoints',x(2:end-1));
figure
scatter(x, y, 'p')
hold on
plot(x, [y(1) ys y(end)], '-r')
hold off
grid
.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!