yo escribimos un código que realiza una interpolación spline:Python Mantenga los puntos de interpolación spline
x1 = [ 0., 13.99576991, 27.99153981, 41.98730972, 55.98307963, 69.97884954, 83.97461944, 97.97038935, 111.9661593, 125.9619292, 139.9576991, 153.953469 ]
y1 = [ 1., 0.88675318, 0.67899118, 0.50012243, 0.35737022, 0.27081293, 0.18486778, 0.11043095, 0.08582272, 0.04946131, 0.04285015, 0.02901567]
x = np.array(x1)
y = np.array(y1)
# Interpolate the data using a cubic spline to "new_length" samples
new_length = 50
new_x = np.linspace(x.min(), x.max(), new_length)
new_y = sp.interpolate.interp1d(x, y, kind='cubic')(new_x)
Pero en el nuevo conjunto de datos generados new_x
y new_y
los puntos originales se eliminan, sólo el primero y los últimos valores se mantienen . Me gustaría mantener los puntos originales.
¿por qué no haces entonces 'new_y = sp.interpolate.interp1d (x, y, kind = 'cubic') (x)' –