我正在研究一个三次样条插值项目。
我创建了以下函数,它提取三次样条曲线的系数矩阵。
def coeff(x,y):
cs = CubicSpline(x,y,bc_type='natural')
a = cs.c
coeff_matrix = a.transpose()
print(coeff_matrix)
return
#Test for f(x)=x^2 over 5 data points
x = np.linspace(0,4,5)
y = x**2
#coeff(x,y)
我现在需要编写一个函数,它在xval处计算样条曲线。我意识到这可以通过cs(xval)简单地完成,但它必须是yval = cubsplineval(coeff,x,xval)形式的函数。我的尝试低于......
xval=3.5
t=np.full((1,len(x)),3.5)
z=t-x
np.dot(coeff(x,y), z)
但是np.dot(coeff(x,y),z)会抛出“* NoneType'和'float'”的错误“不支持的操作数类型”。不知道如何纠正这个?非常感谢任何帮助。