实验五:py求函数驻点极大小值凹凸区间拐点

本博文源于高等数学基础,旨在用python对函数进行驻点和极大值与极小值求取,最后采用画图进行展示。最后一个例子就是求凹凸区间与拐点。

例题1:求函数 y = 2 x 3 − 6 x 2 − 18 x + 7 y=2x^3-6x^2-18x+7 y=2x3−6x2−18x+7的极值,并作图对照

1.1思路解析

先观察其定义域,然后发现定义域属于R,然后进行求导,驻点就是导数为0点,然后根据二阶导数判断它是极大值还是极小值就行了。

1.2 实验效果

实验五:py求函数驻点极大小值凹凸区间拐点

实验五:py求函数驻点极大小值凹凸区间拐点

1.3 实验代码

from sympy import *
x = symbols('x')
y = 2*x**3-6*x**2-18*x+7
ds_1 = diff(y,x)
ans = solve(ds_1,x)
print('函数的导数为',ds_1)
print('驻点为',ans)
ds_2 = diff(y,x,2)
ans_1 = ds_2.evalf(subs={x:-1})
ans_2 = ds_2.evalf(subs={x:3})
print('二阶导数在x=-1的值为',ans_1)
print('二阶导数在x=3的值为',ans_2)


# 求极大值与极小值
ans_3 = y.evalf(subs={x:-1})
ans_4 = y.evalf(subs={x:3})
print('函数的极大值为',ans_3)
print('函数的极小值为',ans_4)

# 对照图像
import matplotlib.pyplot as plt
from numpy import *
x = arange(-4,4,0.01)
y = 2*x**3-6*x**2-18*x+7
plt.figure()
plt.plot(x,y)
plt.grid(True)
plt.show()

例题2:求 y = x 4 − 2 x 3 + 1 y=x^4-2x^3+1 y=x4−2x3+1的凹凸区间与拐点

2.1 思路解析

判断凹凸区间的时候,一定要加上二阶导数,二阶导数diff函数,就行了,拐点是二阶导数为0的点。

2.2 实验效果

实验五:py求函数驻点极大小值凹凸区间拐点

实验五:py求函数驻点极大小值凹凸区间拐点

2.3 实验代码

from sympy import *
x = symbols('x')
y = x**4-2*x**3+1
ds_1 = diff(y,x)
ds_2 = diff(y,x,2)
ans = solve(ds_2,x)
print('函数的导数为',ds_1)
print('函数的二阶导数为',ds_2)
print('二阶导数为0的点是',ans)

# 确定二阶导数在两个根左右附近的符号
ans_1 = ds_2.evalf(subs={x:-1})
ans_2 = ds_2.evalf(subs={x:1/2})
ans_3 = ds_2.evalf(subs={x:2})
print('二阶导数在x=-1的值为',ans_1)
print('二阶导数在x=1/2的值为',ans_2)
print('二阶导数在x=2的值为',ans_3)

# 结合图像确定凹凸区间
import matplotlib.pyplot as plt
from numpy import *
x = arange(-1,2,0.01)
y = x**4-2*x**3+1
plt.figure()
plt.plot(x,y)
plt.grid(True)
plt.show()


总结

通过本次学习,简单运用python对函数进行极值,与凹凸区间与拐点进行求值。结构清晰。

上一篇:树莓派4B安装Ubuntu Server 20.04.3 LTS


下一篇:SpringBoot+MyBatis-Plus多数据源操作MySQL读写分离