Scipy中的integrate模块提供了很多数值积分方法,例如,一重积分、二重积分、三重积分、多重积分、高斯积分等等。

下面介绍几种常用的积分函数。

一重积分

SciPy积分模块中,quad函数是一个重要函数,用于求一重积分。例如,在给定的a到b范围内,对函数f(x)求一重积分。

quad的一般形式是scipy.integrate.quad(f, a, b),其中f是求积分的函数名称,a和b分别是下限和上限。

示例

让我们看一个高斯函数的例子,求0到5范围内的积分。

首先需要定义函数→f(x)=e^{-x2}→f(x)=e−x2,这可以使用lambda表达式来完成,然后使用quad方法对其求一重积分。

importscipy.integratefrom numpy importexp

f= lambda x:exp(-x**2)

i= scipy.integrate.quad(f, 0, 5)print(i)

输出

(0.8862269254513955, 2.3183115159980698e-14)

quad函数返回两个值,第一个值是积分的值,第二个值是对积分值的绝对误差估计。

示例

如果积分的函数f带系数参数,即:

那么a和b可以通过args传入quad函数:

from scipy.integrate importquaddeff(x, a, b):return a * (x ** 2) +b

ret= quad(f, 0, 1, args=(3, 1))print (ret)

输出

(2.0, 2.220446049250313e-14)

重积分

要计算二重积分、三重积分、多重积分,可使用dblquad、tplquad和nquad函数。

二重积分

dblquad的一般形式是scipy.integrate.dblquad(func, a, b, gfun, hfun),其中,func是待积分函数的名称,a、b是x变量的上下限,gfun、hfun为定义y变量上下限的函数名称。

示例

求二重积分:

我们使用lambda表达式定义函数f、g和h。注意,在很多情况下g和h可能是常数,但是即使g和h是常数,也必须被定义为函数。

importscipy.integratefrom numpy importexpfrom math importsqrt

f= lambda x, y : 19*x*y

g= lambdax : 0

h= lambda y : sqrt(1-4*y**2)

i= scipy.integrate.dblquad(f, 0, 0.5, g, h)print (i)

输出

(0.59375, 2.029716563995638e-14)

除了上面介绍的方法外,Scipy的integrate模块中还有许多其他积分方法,例如nquad,用于求多重积分。不过,大部分场景quad和dblquad就够用了。

python 二重积分_Python机器学习(五十七)SciPy 积分相关推荐

  1. python 二重积分_python中求二维积分的方法

    python中一般求解微积分可以使符号积分求出解析解,使用数值积分求出数值解.在计算机的处理当中,数值解往往更有意义.本文介绍python中利用数值积分例程和微分方程求解器scipy.integrat ...

  2. 机器学习 python 库_Python机器学习库

    机器学习 python 库 什么是机器学习? (What is Machine Learning?) As the web is immensely growing with each day, an ...

  3. 层次聚类python实现_Python机器学习——Agglomerative层次聚类

    层次聚类(hierarchical clustering)可在不同层次上对数据集进行划分,形成树状的聚类结构.AggregativeClustering是一种常用的层次聚类算法. 其原理是:最初将每个 ...

  4. pca降维python实例_Python机器学习笔记:使用scikit-learn工具进行PCA降维

    之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...

  5. python恢复_python机器学习入门恢复

    3步快速找回,让数据恢复变得简单 版权所有 1990-2020 B计划信息技术有限公司 python机器学习入门 python机器学习入门 Windows 10,Windows 7,Windows 8 ...

  6. python定价_Python|机器学习与量化交易、定价高级训练营陆家嘴学

    Python|机器学习与量化交易.定价高级训练营陆家嘴学堂百度云下载 我买了这个课程,在此分享! 获取课程,请加幑信: 1403905263 (复制幑信号到幑信添加!) 或者扫下面码 <韩非子& ...

  7. 随机森林分类算法python代码_Python机器学习笔记:随机森林算法

    随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...

  8. python分词_Python机器学习-教你分词

    #Python知识分享# 上次我们学习了机器学习以及语料分词的实例今天我们重点聊聊处理语料.我们就先说分词,我们就用开始结巴分词.(一)分词模式 第一种:全模式分词 # -- coding: utf- ...

  9. 第四单元 用python学习微积分(二十七)积分-部分分式-分部积分

    本文内容来自于学习麻省理工学院公开课:单变量微积分-分部积分-网易公开课 开发环境准备:CSDN 目录 一.多项式部分分式方法求积分 1.效果 2.步骤 (1)  长除法 (2)  分解因式 (fac ...

最新文章

  1. 如何跟机器人“抢”工作?专家:新的分工将形成
  2. python点到多边形距离,点到轮廓距离
  3. python数据库编程 代码 源码_Python可以这样学_Python教程
  4. EhLib控件在windows 2003 中delphi 安装问题解决办法
  5. 为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
  6. 从零入门 Serverless | SAE 的远程调试和云端联调
  7. 动态加载和静态加载及其编译步骤
  8. wince编译时找不到atls.lib
  9. C++语言编程软件推荐及下载教程
  10. STM32入门开发: 采用IIC硬件时序读写AT24C08(EEPROM)
  11. twaver html5软件价格,TWaver数据中心可视化软件
  12. 互联网吞噬传统书店:全球大批书店倒闭
  13. 经典语录(个人喜欢)
  14. python画超长图-python实现按长宽比缩放图片
  15. asp.net消除锯齿的办法
  16. idea2021 乱码问题
  17. Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 怎么办?
  18. Python绘制论文曲线图
  19. I/O error reading PNG header! java截取png图片时遇到的问题
  20. fisco bcos使用在线IDE chainIDE教程,只要有网络就可以写智能合约!

热门文章

  1. SpringBoot 2 整合 Spring Session 最简操作
  2. genymotion集成eclipse插件安装教程
  3. Android开发使用的常见第三方框架汇总
  4. matlab误比特率,[转载]使用Matlab进行误比特率仿真
  5. 基于JAVA+Servlet+JSP+MYSQL的问卷调查管理系统
  6. 【docker学习之二】Docker的基本概念
  7. UIKit框架-高级控件Swift版本: 6.UIAlertView方法/属性详解
  8. Discuz 7.2 /faq.php SQL注入漏洞
  9. 黑马程序员--里氏转换
  10. km算法c语言,KM算法最好的讲解+POJ2195[KM算法+最小费用流]