栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实验五: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 实验效果

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 实验效果

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对函数进行极值,与凹凸区间与拐点进行求值。结构清晰。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/350170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号