0
J'essaie d'obtenir un tableau de points intermédiaires après l'interpolation dans SciPy. Mais il ne semble pas y avoir de méthode directe pour le faire. Quelqu'un peut-il aider?Obtenir des points intermédiaires de SciPy CubicSpline
Exemple de code:
from scipy.interpolate import CubicSpline
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.sin(x)
cs = CubicSpline(x, y)
xs = np.arange(-0.5, 9.6, 0.1)
plt.figure(figsize=(6.5, 4))
plt.plot(x, y, 'o', label='data')
plt.plot(xs, np.sin(xs), label='true')
plt.plot(xs, cs(xs), label="S")
plt.plot(xs, cs(xs, 1), label="S'")
plt.plot(xs, cs(xs, 2), label="S''")
plt.plot(xs, cs(xs, 3), label="S'''")
plt.xlim(-0.5, 9.5)
plt.legend(loc='lower left', ncol=2)
plt.show()
Avez-vous essayé d'appeler 'cs' sur des valeurs intermédiaires? Par exemple, utilisez 'new_xs = np.arange (-0.5, 9.6, 0.05)' et tracez 'plt.plot (new_xs, cs (new_xs))'? –
Désolé, je vois que 'xs' a plus de points que x pour commencer. Les dérivés ne peuvent pas être beaucoup plus raffinés que ce que vous avez, avec une interpolation cubique. Qu'essayez-vous de faire? –
Cela fonctionne, merci –