Python实现之一阶二阶导数

本文转载自微信公众号「python与大数据分析」,作者一只小小鸟鸟。转载本文请联系python与大数据分析公众号。

成都网站建设公司更懂你!成都创新互联只做搜索引擎喜欢的网站!成都网站制作前台采用搜索引擎认可的DIV+CSS架构,全站HTML静态,html5+CSS3网站,提供:网站建设,微信开发,小程序制作商城网站制作重庆APP软件开发,域名与空间,服务器租售,网站代托管运营,微信公众号代托管运营。

函数的和、差、积、商的求导法则

u=u(x),v=v(x)

(u+v)'=u'+v'

(u-v)'=u'-v'

(Cu)'=Cu'

(uv)'=u'v+uv'

(u/v)'=(u'v-uv')/v^2

复合函数求导法则

y=f(u),u=φ(v)

复合函数y=f[φ(v)]的导数为

dy/dx=dy/du*du/dx=f'(u)*φ'(v)

(u-v+z)'=u'-v'+z',且(Cu)'=Cu'

exam1:

y =2*x*^3 -5*x^2+3*x-7

y'=6*x^2-10x+3+0

exam2:

f(x)=x^3+4cosx-sin(π/2)

f'(x)=(x^3)‘+(4cosx)‘-(sin(π/2))‘=3x^2-4sinx-0

f'(π/2)=f'(x)|x=(π/2)=3x^2-4sinx=3*(π/2)^2-4sin(π/2)=3/4π^2-4

exam3:

y=√x*lnx

y'=(√x)'*lnx+√x*(lnx)'=1/(2*√x)*lnx+√x*1/x=1/(√x)*(1/2*lnx+1)

exam4:

y=e^x(sinx+cosx)

y'=(e^x)'(sinx+cosx)+e^x(sinx+cosx)'=e^x(sinx+cosx)+e^x(cosx-sinx)=2e^xcosx

高阶导数

y=f(x)

y'=f'(x)

y''=(y')'=d^2y/dx^2=d/dx(dy/dx)

导数的应用:函数单调性

通过函数的导数的值,可以判断出函数的单调性、驻点以及极值点:

若导数大于0,则单调递增;

若导数小于0,则单调递减;

导数等于零d的点为函数驻点

曲线的凹凸性,设函数f(x) 在区间I 上有二阶导数

(1) 在 I 内 f''(x)>0则 f(x)在 I 内图形是凹的 ;

(2) 在 I 内 f''(x)<0则 f(x)在 I 内图形是凸的 .

 
 
 
 
  1. #!/usr/bin/env python 
  2. # -*- coding: UTF-8 -*- 
  3. #                     _ooOoo_ 
  4. #                   o8888888o 
  5. #                    88" . "88 
  6. #                 ( | -  _  - | ) 
  7. #                     O\ = /O 
  8. #                 ____/`---'\____ 
  9. #                  .' \\| |// `. 
  10. #                 / \\|||:|||// \ 
  11. #               / _|||||-:- |||||- \ 
  12. #                | | \\\ - /// | | 
  13. #              | \_| ''\---/'' | _/ | 
  14. #               \ .-\__ `-` ___/-. / 
  15. #            ___`. .' /--.--\ `. . __ 
  16. #         ."" '< `.___\_<|>_/___.' >'"". 
  17. #       | | : `- \`.;`\  _ /`;.`/ - ` : | | 
  18. #          \ \ `-. \_ __\ /__ _/ .-` / / 
  19. #      ==`-.____`-.___\_____/___.-`____.-'== 
  20. #                     `=---=' 
  21. ''' 
  22. @Project :pythonalgorithms  
  23. @File :Nderivatives.py 
  24. @Author :不胜人生一场醉@Date :2021/8/3 1:17  
  25. ''' 
  26. import matplotlib.pyplot as plt 
  27. import numpy as np 
  28. import math 
  29. import sympy 
  30.  
  31. if __name__ == '__main__': 
  32.     nderivativeplot() 
 
 
 
 
  1. # f(x)=x^3+3x^2-24x-20 
  2. # f'(x)=3x^2+6x-24 
  3. # f''(x)=6x+6 
  4. def nderivativeplot(): 
  5.     plt.figure(figsize=(5, 8)) 
  6.     ax = plt.gca()  # 通过gca:get current axis得到当前轴 
  7.     plt.rcParams['font.sans-serif'] = ['SimHei']  # 绘图中文 
  8.     plt.rcParams['axes.unicode_minus'] = False  # 绘图负号 
  9.     x = np.linspace(-10,10, 200) 
  10.     y = np.power(x,3)+3*np.power(x,2)-24*x-20 
  11.     yd = 3*np.power(x,2)+6*x-24 
  12.     ydd=6*x+6 
  13.     label = '函数f(x)=x^3+3x^2-24x-20的曲线' 
  14.     plt.plot(x, y, label=label) 
  15.     label = "导数f'(x)=3x^2+6x-24的曲线" 
  16.     plt.plot(x, yd, label=label) 
  17.     label = "导数f''(x)=6x+6的曲线" 
  18.     plt.plot(x, ydd, label=label) 
  19.  
  20.  
  21.     # 设置图片的右边框和上边框为不显示 
  22.     ax.spines['right'].set_color('none') 
  23.     ax.spines['top'].set_color('none') 
  24.  
  25.     # 挪动x,y轴的位置,也就是图片下边框和左边框的位置 
  26.     # data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置 
  27.     ax.spines['bottom'].set_position(('data', 0)) 
  28.     # axes表示以百分比的形式设置轴的位置,即将y轴绑定在x轴50%的位置 
  29.     # ax.spines['left'].set_position(('axes', 0.5)) 
  30.     ax.spines['left'].set_position(('data', 0)) 
  31.     plt.title("函数、一阶导数、二阶导数") 
  32.     plt.legend(loc='upper right') 
  33.     plt.show() 

文章标题:Python实现之一阶二阶导数
文章来源:http://www.shufengxianlan.com/qtweb/news40/501490.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联