我想调用 scipy.newton(f, x0, df)。
我将 f 定义为
def f(x):
resf = x**2
return resf
和df作为
def df(x):
df = 2*x
return df
我这样调用 newton
x0 = 1.0
y0 = 6.0
root = newton(f-y0, x0, df)
当然我遇到了一个错误,因为我试图从一个函数中减去一个float。
我如何定义函数 f 并调用 newton 来找到 f-y0 的根。
语法是什么,输入参数是什么?
以下不起作用:
def f(x, y0):
resf = x**2-y0
return resf
因为那时我不知道如何调用 newton。
请您参考如下方法:
你可以像这样传递一个匿名函数:
root = newton(lambda x: f(x)-y0, x0, df)
也可以使用嵌套函数:
def difference(x):
return f(x) - y0
root = newton(difference, x0, df)
