2017-02-15 54 views
0

下面我的代碼,我不斷收到錯誤爲什麼我不斷收到這個ndarray可調用錯誤,這是什麼意思?

「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.,])) 
+0

當報告錯誤,你應該指出哪行代碼正在生產。在這種情況下,'Mitch'做了一個合理的猜測('f(x)'表達式),但是通常只是閱讀代碼並不容易。 – hpaulj

回答

2

你傳入的y(x)結果到plot_approx,在那裏它需要一個功能對象,而不是從一個函數返回的數組。因此,錯誤告訴你,嘗試呼叫f(x)時,數組不可調用,其中f是您的陣列。

你應該改爲調用plot_approx實際函數對象y

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