← retour aux snippets

scipy.interpolate: 1D splines

Interpolation 1D avec UnivariateSpline.

objectif

Interpolation 1D avec UnivariateSpline.

code minimal

import numpy as np
from scipy.interpolate import UnivariateSpline

x = np.linspace(0, 10, 11)
y = np.sin(x)
spl = UnivariateSpline(x, y, s=1.0)
print(round(float(spl(5.0)),3))

utilisation

print(float(spl.derivatives(5.0)[1]))

variante(s) utile(s)

from scipy.interpolate import interp1d
f = interp1d(x, y, kind="cubic")
print(round(float(f(5.0)),3))

notes

  • Paramètre s règle la douceur; interp1d pour simple.