【发布时间】:2021-04-22 00:09:19
【问题描述】:
以下代码需要使用 scipy 优化器针对 x 进行优化和最小化。 问题是它适用于单个参数,但当函数采用多个值时,它无法处理它。
这段代码运行良好。
from scipy.optimize import root
b = 1
def func(x):
# result when x = 0, but result equation depends also on b value.
result = x + b
return result
sol = root(func, 0.1)
print(sol.x, sol.fun)
但这不起作用.....
b =[ 1, 2, 3, 4, 5]
def func(x, b):
# result when x = 0, but result equation depends also on b value.
result = x + b
return result
for B in b:
sol = root(lambda x,B: func(x, B), 0.1)
print(sol.x, sol.fun)
如何通过b迭代得到结果?
【问题讨论】:
-
尝试将
def func(x, b)中的b更改为b以外的其他内容?我有一种预感,Python 可能会让bs' 感到困惑。
标签: python python-3.x function scipy scipy-optimize