我收到此错误


  TypeError:objfunc()缺少1个必需的位置参数:“ q”


当我尝试蛮力优化目标函数时。

我做错了什么?

def objfunc(p,q):
    return p**3-2**q;

from scipy.optimize import brute
grid = (slice(1, 300, 1),slice(1, 300, 1))
solution = brute(objfunc, grid, finish=None,full_output = True)
`enter code here`*TypeError: objfunc() missing 1 required positional argument: 'q'*'''


谢谢!

最佳答案

您需要更正objfunc。另外q的范围非常大,您可以更改它以防止溢出

def objfunc(grid):
    p, q = grid
    return p**3-2**q;

grid = (slice(1, 300, 1),slice(1, 30, 1))

关于python - Python:Scipy:蛮力优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45782561/

10-11 07:40