有没有办法"安静地"使用scipy.optimize.fmin?也就是说,它不打印例如
Optimization terminated successfully.
Current function value: 0.000000
Iterations: 13
Function evaluations: 30
Run Code Online (Sandbox Code Playgroud)
什么时候运行代码?
这在例如持续一段时间的循环中可能是有用的.
我没有问题scipy.optimize.fmin为一个变量的函数工作,但不知怎的,我无法弄清楚如何让它适用于2个变量.下面是我尝试(和失败)最大化的函数的简单示例.我究竟做错了什么?
from scipy.optimize import fmin
test2 = lambda x,y: x-x**2 + y - y**2
guess = [ 0.5,0.5 ] #just some guess
print fmin( -test2, guess, args=(x,y) )
Run Code Online (Sandbox Code Playgroud)
错误信息:
print fmin( -test2, guess, args=(x,y) )
TypeError: bad operand type for unary -: 'function'
Run Code Online (Sandbox Code Playgroud)
更新:谢谢你的回答!结束以下也有效:
谢谢,这很有效.结束以下代码也起作用:
来自scipy.optimize import fmin
test2 = lambda x: -(x[0]-x[0]**2 + x[1] - x[1]**2 )
guess = [ 0.5,0.5 ] #just some guess
print fmin( test2, guess )
Optimization terminated successfully.
Current function value: -0.500000
Iterations: 18 …Run Code Online (Sandbox Code Playgroud) 我是Sympy的新手,并且意识到计算和简化代数表达式非常好.
但是,当我写出实数的分数时,它返回零(像'x'这样的符号分数没有问题).我究竟做错了什么?
from sympy import *
1./2
Out[2]: 0.5
1/2
Out[3]: 0
Run Code Online (Sandbox Code Playgroud)