%%
n = 18;
t = linspace(-1,1,n+1)';  y = t.^2 + t + 0.05*sin(20*t);
clf
plot(t, y, '.')
grid on
 
%%
% By default interp1 gives us an interpolating function that is linear
% between each pair of consecutive nodes.
x = linspace(-1, 1, 400)';
hold on
plot(x, interp1(t, y, x))
title('Piecewise linear interpolant')

%%
% We may instead request a smoother interpolant that is piecewise cubic.
cla
plot(t, y, '.')
plot(x, interp1(t, y, x, 'spline'))
title('Piecewise cubic interpolant')
grid on