
python中,如何用scipy.optimize.minimize进行多变量的最小化?
我用这个测试>>>sq=lambdax,y:x**2+y**2>>>fromscipy.optimizeimportminimize>>>minimize(sq,[1,1...
我用这个测试
>>> sq=lambda x,y: x**2+y**2
>>> from scipy.optimize import minimize
>>> minimize(sq,[1,1])
结果说少一个参数
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/_minimize.py", line 444, in minimize
return _minimize_bfgs(fun, x0, args, jac, callback, **options)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 913, in _minimize_bfgs
gfk = myfprime(x0)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 292, in function_wrapper
return function(*(wrapper_args + args))
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 688, in approx_fprime
return _approx_fprime_helper(xk, f, epsilon, args=args)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 622, in _approx_fprime_helper
f0 = f(*((xk,) + args))
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 292, in function_wrapper
return function(*(wrapper_args + args))
TypeError: <lambda>() missing 1 required positional argument: 'y' 展开
>>> sq=lambda x,y: x**2+y**2
>>> from scipy.optimize import minimize
>>> minimize(sq,[1,1])
结果说少一个参数
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/_minimize.py", line 444, in minimize
return _minimize_bfgs(fun, x0, args, jac, callback, **options)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 913, in _minimize_bfgs
gfk = myfprime(x0)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 292, in function_wrapper
return function(*(wrapper_args + args))
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 688, in approx_fprime
return _approx_fprime_helper(xk, f, epsilon, args=args)
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 622, in _approx_fprime_helper
f0 = f(*((xk,) + args))
File "/usr/local/lib/python3.5/dist-packages/scipy/optimize/optimize.py", line 292, in function_wrapper
return function(*(wrapper_args + args))
TypeError: <lambda>() missing 1 required positional argument: 'y' 展开
1个回答
展开全部
from scipy.optimize import minimize
sqr = lambda p: p[0]**2 +p[1]**2
minimize(sqr, [-1.0, 1.0])
sqr = lambda p: p[0]**2 +p[1]**2
minimize(sqr, [-1.0, 1.0])
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |