scipy中计算导数有两种方式:

  1. central_diff_weights
  2. derivative

其中第一种方式在scipy帮助中,没有写很清楚,这里重点讲一下。

就举一个例子: 计算下列函数在x=1x=1x=1处的2阶导数
f(x)=3x+x3f(x) = 3^{x} + x^{3}f(x)=3x+x3
利用求导公式,我们很容易得到这个值:9.620846882437746

要利用第一种方法,需要有若干个(N)在求导点附近的函数值,并且需要均匀。N还需要满足两个条件

  1. N为奇数
  2. N大于导数的阶数;比如要计算1阶导数,N>1;计算2阶导数, N>2

我们取N=5, 计算在x=1x=1x=1的附近的5个函数值,左右对称
f(0.8),f(0.9),f(1),f(1.1),f(1.2)f(0.8) ,f(0.9), f(1), f(1.1), f(1.2)f(0.8),f(0.9),f(1),f(1.1),f(1.2)

central_diff_weights(5,2), 返回的是计算2阶导数的各个值的权重,把这5个值和以上5个函数值相乘,并且除以间隔值0.1两次,即为导数

from scipy.misc import central_diff_weights
from scipy.misc import derivative
import numpy as npdef f(x):return 3**x + x**3x = np.r_[0.8:1.2:5j]
y = np.vectorize(f)(x)w = central_diff_weights(5, 2)
print(np.sum(y*w) / 0.1 / 0.1)

计算的值为:9.620841015472953 与理论值很接近了

下面用另一种方法derivative 计算导数,这种方法比较直观

derivative(f, x0=1, dx=0.0001, n=2)

计算的值为:9.620846874724975

scipy模块计算导数方法(central_diff_weights)相关推荐

  1. python卷积计算_Python使用scipy模块实现一维卷积运算示例

    本文实例讲述了python使用scipy模块实现一维卷积运算.分享给大家供大家参考,具体如下: 一 介绍 signal模块包含大量滤波函数.b样条插值算法等等.下面的代码演示了一维信号的卷积运算. 二 ...

  2. python中Scipy模块求取积分

    python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...

  3. python模块下载过程_常用的python模块及安装方法

    bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUti ...

  4. 常用的python模块及安装方法

    adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework c ...

  5. 【Scipy高级计算】(2) 常微分方程、洛伦兹吸引子,附python完整代码

    大家好,在上一篇博文中,我介绍了如何使用Scipy库计算定积分和二重积分,感兴趣的可以看一下:https://blog.csdn.net/dgvv4/article/details/124226759 ...

  6. Python之常用模块及安装方法

    adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework c ...

  7. 浅尝则止 - SciPy科学计算

    21. 浅尝则止 - SciPy科学计算 SciPy以NumPy为基础,提供了众多数学.科学.工程计算用的模块,包括但不限于:线性代数.常微分方程求解.信号处理.图像处理.稀疏矩阵处理. 本章适合那些 ...

  8. python二元函数图像在线绘制_Python实现的拟合二元一次函数功能示例【基于scipy模块】...

    Python实现的拟合二元一次函数功能示例[基于scipy模块] 发布时间:2020-08-31 00:46:24 来源:脚本之家 阅读:121 本文实例讲述了Python实现的拟合二元一次函数功能. ...

  9. python 三维凸包_浅尝则止 - SciPy科学计算 in Python

    本文节选自作者的<Python编程基础及应用>视频教程.Python编程基础及应用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 21. 浅尝则止 ...

最新文章

  1. java之php、Android、JAVA、C# 3DES加密解密
  2. oracle 11g ORA-12514
  3. 一个mybatis处理batch的插件,类似于pageHelper插件
  4. 2018成都初二计算机会考时间,2018年四川学业水平考试时间及科目
  5. ITK:使用曲率流平滑图像
  6. 持续交付一:从开发到上线的环境
  7. Sublime text3 更改侧边栏颜色
  8. TensorFlow 2 Object Detection API 教程: model 命名规则
  9. Tomcat下中文乱码的解决方法
  10. LOJ#6038. 「雅礼集训 2017 Day5」远行(LCT)
  11. 怎样解决迅雷下载时的版权限制-两招解决迅雷下载版权限制
  12. python网课培训班学费一般多少
  13. Python量化交易平台开发教程系列5-底层接口对接
  14. H3C的l2tp报错
  15. 【工具安装】Quartus II 安装与驱动
  16. 【原创】kettle转换组件杂记-【javascript组件】获取当前时间的前一天/后一天
  17. JScrollPane的使用
  18. Idea使用Alibaba Cloud Toolkit
  19. 异常捕获--编译开关EHsc、EHa
  20. 【安卓10修改系统文件】安卓10修改系统文件hosts

热门文章

  1. 5. SQL Server数据库性能监控 - 当前请求
  2. 在UltraWebGrid单元格中绑定dropdownlist
  3. android 串口调试
  4. Windows Embedded Compact 7新特性
  5. 基于WINCE6.0下载multiple XIP镜像文件
  6. java线程池饱和策略_线程池的饱和策略-调用者执行 | 学步园
  7. 让您的Eclipse具有千变万化的外观
  8. java替换特殊字符串
  9. [PHP] 超全局变量$_FILES上传文件
  10. 如何让你投出的简历得到回应