我是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/