我是python的新手,我正在写这段简单的代码来查找函数的根:

from scipy import optimize

x = eval(raw_input())                           #Initial guess
f = eval(raw_input())                           # function to be evaluated
F = eval(raw_input())                          #derivative of function f

round(optimize.newton(f, x, F, tol = 1.0e-9), 4)


但是解释器返回:
TypeError:“ float”对象不可调用

我真的不确定这段代码会丢失什么。有人可以帮我吗..谢谢你

最佳答案

optimize.newton需要对可调用对象(例如函数)的引用。这并不意味着您将函数提供为像'x*x'这样的字符串,而是必须先定义一个函数,例如:

def my_func (x):
    return x*x


然后,您可以将my_func插入optimize.newton(除其他必需的参数之外)。

关于python - scipy.optimize.newton给出TypeError:'float'对象不可调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25978513/

10-11 19:38