Я пытаюсь подогнать кривую с помощью LSQUnivariateSpline.
from scipy.interpolate import LSQUnivariateSpline, UnivariateSpline
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 50)
y = np.exp(-x**2) + 0.1 * np.random.randn(50)
t = [-2, -1, 0, 1, 2]
spl = LSQUnivariateSpline(x, y, t, k=4 )
xs = np.linspace(-3, 3, 1000)
plt.plot(x, y, 'ro', ms=5)
plt.plot(xs, spl(xs), 'g-', lw=3)
plt.show()
Этот код выдает ниже график.
Я хочу объявить граничные условия, такие как dy / dx = 0 или d2x / dy = 0. Есть ли способ или другая функция для подгонки кривой к граничным условиям?