' INT'在python代码中不可调用

时间:2017-08-31 11:14:09

标签: python

我被要求编写一个使用中央差异的程序

"Central difference formula"

def difc(f,x,h):
    h = float(h)
    return (f(x + h) - f(x - h))/2*h

"Entraphy function"
f = 259.8*(3.782*x - 2.997*(10**-3)*(x**2)/2 + 9.847*(10**-6)*(x**3)/3 - 9.681*(10**-9)*(x**4)/4 + 3.243*(10**-12)*(x**5)/5 - 1.064*10**3)
"temperature"
x = 500

print (difc(f,500,5))

当我运行代码时,我收到错误

line 9, in derivative 
    return (f(x+h) - f(x))/h
TypeError: 'int' object is not callable"

我哪里出错?

1 个答案:

答案 0 :(得分:2)

似乎f不是函数而是值(即使此时未定义x ...)。也许您想要定义一个实际的函数,并且使用您的格式,lambda是完美的候选者:

f = lambda x: 259.8*(3.782*x - 2.997*(10**-3)*(x**2)/2 + 9.847*(10**-6)*(x**3)/3 - 9.681*(10**-9)*(x**4)/4 + 3.243*(10**-12)*(x**5)/5 - 1.064*10**3)