我有一些适合多项式的数据。我的目标是(i)绘制数据和多项式,以及(ii)定义一个函数,用于估计范围内的某些p(x)
的{{1}}。我都做过,但是我不了解x
的工作原理。
根据文档,polyval
正在计算numpy.polyval(p,x)
。也就是说,p的第0个项对应于多项式的最高阶。
p[0]*x**(N-1) + p[1]*x**(N-2) + ... + p[N-2]*x + p[N-1]
但是,绘制此多项式时
n = 4
p = poly.polyfit(x, y, n)
看起来实际上是在绘制xp = np.linspace(min(x), max(x), 10000)
plt.plot(xp, poly.polyval(xp,p), 'r--')
。事实是,该多项式可以正确拟合数据。
因此,在函数中评估多项式时会出现问题:
p[N-1]*x**(N-1) + p[N-2]*x**(N-2) + ... + p[1]*x + p[0]
根据图,它不会返回与def f(x_,y_):
F = np.polyval(p,x_)
return F
对应的值(以及我知道它是正确的值)。
我在这里想念什么?
注意:在绘制时使用x
并不能解决问题。