用多个参数调用optimize.newton函数会抛出“float object not callable”

2024-04-26 00:38:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我是scipy新手,以下代码似乎不起作用:

from scipy import optimize

def f(x, y):
    return x * x - 3 + y


def main():
   x0 = 0.1
    y = 1
    res = optimize.newton(f(x0,y), x0)
    print (res)

我收到的错误是:

 File "C:\Python27\lib\site-packages\scipy\optimize\zeros.py", line 144, in newton
    q0 = func(*((p0,) + args))
TypeError: 'float' object is not callable

Tags: 代码fromimportreturnmaindef错误res
1条回答
网友
1楼 · 发布于 2024-04-26 00:38:36

您需要提供一个函数作为optimize.newton的第一个参数。独立参数的猜测x0作为第二个参数提供,您可以使用args提供常量参数:

def f(x, y):
    return x * x - 3 + y

def main():
    x0 = .1
    y = 1
    res = optimize.newton(f, x0, args=(y,))

相关问题 更多 >

    热门问题