问题描述
我使用 lambda
定义了以下函数:
f = lambda x: x**2 + 3*x + 3
有什么方法可以使用 Python
来找到使 x
值最小化的 f(x)
值吗?
我知道 min()
函数是在值列表中找到最小元素,但在这里,我没有得到值列表,而是我需要找到 x
的值最小化 f(x)
。
谢谢,
解决方法
您尝试要做的事情可以使用 python 的符号包来完成。
还有很多其他方法,但我怀疑这对您最有用。
>>> import sympy
>>> y = sympy.sympify("x**2 + 3*x + 3")
>>> sympy.solve( sympy.diff(y) ) # minimize by solving for the derivative
[-3/2]