对于给定的函数 f,是否可以找到 x 的值,其中 f(x) 是最小值Python?

问题描述

我使用 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]