我用fsolve编写非常简单的代码。方程并不复杂。一个a*(1-a)
已知"a"
参数,另一个x*(1-x)
。
代码是:
from scipy.optimize import fsolve
import math
def equations(p):
x = p
a=0.1
return (a*(1.0-a), x*(1.0-x))
x = fsolve(equations, 0.1)
print equations(x[0]), x[0]
尽管代码和方程非常简单,但fsolve无法解决这个问题。为了测试它我使用答案作为初始值,但仍然,它给了我一个警告。为什么呢?
这是它的警告:
/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py:161:RuntimeWarning:迭代没有取得良好进展,正如 从最近十次迭代中的改进。 warnings.warn(msg,RuntimeWarning) (0.09000000000000001,0.090000000000000011)0.1