给出两个向量x
和y
,我可以使用scipy.interpolate.interp1d
来计算(二次)样条。但是,我对花键本身并不直接感兴趣,而是对花键的派生方式感兴趣。
我希望有一个明确的解决方案,而不是数值导数。
但是我找不到多项式参数存储在interp1d
中的位置。
我尝试了interp1d.__dict__
,其中包含interp1d._spline
,但是我没有找到此参数的定义。
答案 0 :(得分:2)
选中InterpolatedUnivariateSpline,它具有derivative
method:请注意,为方便起见,导数返回了另一个样条线对象,还可以指定导数的顺序(默认为1 )。
from scipy.interpolate import InterpolatedUnivariateSpline as IUS
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = x**2 + np.random.normal(size=10)
u = IUS(x,y)
u_der = u.derivative()
plt.plot(x, y, 'go')
plt.plot(x, u(x), 'b--')
plt.plot(x, u_der(x), 'k')