scipy.interpolate.interp1d 'kind' не работает
Я экспериментирую с interpolate.interp1d, но с ним происходит странное поведение. Вот сценарий:
x = np.linspace(0, 10, 10)
y = np.cos(-x**2/9.0)
f = interp1d(x, y, kind='cubic')
plt.figure(figsize=(10,7))
plt.plot(x, y, 'o', x, f(x), '--')
plt.legend(['data', 'interp'], loc='best')
plt.show()
plt.pause(2**31-1)
Но результат, который я получаю, - это как будто я передаю вид = 'линейный'. На самом деле, независимо от параметра "вид", результат один и тот же. Я что-то пропустил?
1 ответ
Решение
Вы наносите его только на значения х, которые используете, чтобы соответствовать ему, поэтому вы видите только согласие и линии, проведенные между этими точками. Если вы строите график в большем количестве точек от 0 до 10 (например, np.linspace(0, 10, 100)
, вы начнете видеть разницу: