为什么我一直得到这个ndarray可调用错误,这是什么意思?

时间:2017-02-15 16:12:45

标签: python python-2.7 numpy scipy

使用下面的代码,我不断收到错误

  

'numpy.ndarray'对象不可调用

但我不确定这意味着什么或它发生在哪里。

##LAGRANGE POLYNOMIAL:
import pylab
%pylab inline
import scipy.interpolate
import numpy

def y(x):
    return x**3

def plot_approx(f,xi):
    x=numpy.linspace(0.5, 3.5, 13)
    plot(x, f(x))
    lagrange_polynomial=scipy.interpolate,lagrange(xi,f(xi))
    plot(x, lagrange_polynomial(x))
    show()

x = numpy.array([1., 2., 3.,]) #given in question

plot_approx(y(x), numpy.array([1., 2., 3.,]))

1 个答案:

答案 0 :(得分:2)

您正在将y(x)的结果传递给plot_approx,它需要一个函数对象,而不是函数返回的数组。因此,错误告诉您在尝试调用f(x)时,数组不可调用,其中f是您的数组。

您应该使用实际的功能对象plot_approx

来调用y
plot_approx(y, numpy.array([1., 2., 3.,]))