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

9 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

Star Strider
Star Strider am 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
.

Weitere Antworten (0)

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by