Python: scipy.optimize,bisection 可以使用 returns 多个值的函数 f 吗?
Python: Can scipy.optimize,bisection use a function f that returns multiple values?
假设我有一个函数 f,它 returns 多个值。
def f(x):
return x + 1, 2 * x
Scipy documentation 告诉我 f 必须是 return 一个数字的函数。我认为我给定的函数 f 与 scipy.optimize.bisection 不兼容,但是是否可以仅对 f 的 return 值之一执行二分法?
您可以定义一个调用函数 f
并提取第二个 return 值的函数:
from scipy.optimize import bisect
def f(x):
return x + 1, 2 * x
bisect(lambda x: f(x)[1], -1, 1)
假设我有一个函数 f,它 returns 多个值。
def f(x):
return x + 1, 2 * x
Scipy documentation 告诉我 f 必须是 return 一个数字的函数。我认为我给定的函数 f 与 scipy.optimize.bisection 不兼容,但是是否可以仅对 f 的 return 值之一执行二分法?
您可以定义一个调用函数 f
并提取第二个 return 值的函数:
from scipy.optimize import bisect
def f(x):
return x + 1, 2 * x
bisect(lambda x: f(x)[1], -1, 1)