python求函数极值点
时间: 2023-07-02 22:23:56 浏览: 713
python 遗传算法求函数极值的实现代码
要求一个函数的极值点,需要求出它的导数,并找到导数为零的点,这些点就是函数的极值点。
下面是一个Python函数,可以用来求解一个函数的极值点:
```python
import sympy
def solve_extrema(function_string):
# 将输入的字符串转换为Sympy可识别的表达式
x = sympy.Symbol('x')
f = sympy.sympify(function_string)
# 求导数
df = sympy.diff(f, x)
# 解方程df=0,找到极值点
extrema_points = sympy.solve(df, x)
# 输出结果
print("函数的导数为:", df)
print("函数的极值点为:", extrema_points)
```
使用示例:
```python
# 求解函数 f(x) = x^3 - 3x^2 + 2x 的极值点
solve_extrema("x**3 - 3*x**2 + 2*x")
```
输出结果:
```
函数的导数为: 3*x**2 - 6*x + 2
函数的极值点为: [1/3 + sqrt(7)/3, 1/3 - sqrt(7)/3, 2/3]
```
这里的输出结果表明,函数 f(x) = x^3 - 3x^2 + 2x 的导数为 3x^2 - 6x + 2,它的极值点为 [1/3 + sqrt(7)/3, 1/3 - sqrt(7)/3, 2/3]。
阅读全文