python用quad、dblquad实现一维二维积分的实例详解

 更新时间:2019年11月20日 09:54:54   作者:潜水的飞鱼baby  
今天小编大家分享一篇python用quad、dblquad实现一维二维积分的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

背景:

python函数库scipy的quad、dblquad实现一维二维积分的范例。需要注意dblquad的积分顺序问题。

代码:

import numpy as np
from scipy import integrate
 
 
def half_circle(x):
  """
  原心:(1,0),半径为1
  半圆函数:(x-1)^2+y^2 = 1
  """
  return (1-(x-1)**2)**0.5
 
"""
梯形法求积分:半圆线和x轴包围的面积
"""
N = 10000
x = np.linspace(0,2,num=N)#,endpoint=True)
dh = (2-0)/N
y = half_circle(x)
"""
梯形法求积分:(上底+ 下底)*高/2
"""
S = sum((y[1:]+y[:-1])*dh/2)
 
print("=========%s=========="%"梯形法")
print("面积:%f"%S)
 
"""
直接调用intergrate的积分函数quad
"""
S2,err = integrate.quad(half_circle,0,2)
 
print("=========%s=========="%"quad")
print("面积:%f"%S2)
 
 
"""
多重定积分:注意积分顺序
"""
def half_sphere(y,x):
  """
  球心:(1,0,0)
  半径:1
  半球:(x-1)^2+y^2+z^2=1
  """
  return (1-(x-1)**2-y**2)**0.5
 
"""
积分顺序:
v = V x in [0,2] :V y in [-g(x),h(x)]
"""
V3,err = integrate.dblquad(half_sphere,0,2,lambda x:-half_circle(x),lambda x:half_circle(x))
print("========%s==========="%"dblquad")
print("体积:%f"%V3)

结果:

========
=========梯形法==========
面积:1.570638
=========quad==========
面积:1.570796
========dblquad===========
体积:2.094395

以上这篇python用quad、dblquad实现一维二维积分的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 给Python学习者的文件读写指南(含基础与进阶)

    给Python学习者的文件读写指南(含基础与进阶)

    今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处,学习是循序渐进的过程,欲速则不达
    2020-01-01
  • Python中xmltodict模块对XML的用法详解

    Python中xmltodict模块对XML的用法详解

    这篇文章主要介绍了Python中xmltodict模块对XML的用法详解,xmltodict 是一个用来处理xml数据的很方便的模块,包含两个常用方法parse和unparse,本文通过代码介绍了用法,需要的朋友可以参考下
    2023-07-07
  • Python 下载及安装详细步骤

    Python 下载及安装详细步骤

    这篇文章主要介绍了载及安装Python详细步骤,安装python分三个步骤,具体安装方法本文给大家介绍的非常详细,需要的朋友可以参考下
    2019-11-11
  • 使用pytorch提取卷积神经网络的特征图可视化

    使用pytorch提取卷积神经网络的特征图可视化

    这篇文章主要给大家介绍了关于使用pytorch提取卷积神经网络的特征图可视化的相关资料,文中给出了详细的思路以及示例代码,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Python实现B站UP主小助手详解开发流程

    Python实现B站UP主小助手详解开发流程

    功能是不是还挺丰富的,从写第一行代码到完成也就花了两天不到的时间,这也证明了使用python开发的高效率,下面来说说这些功能开发中我遇到了哪些问题,我又是如何解决的
    2022-02-02
  • Python实现遍历目录的方法【测试可用】

    Python实现遍历目录的方法【测试可用】

    这篇文章主要介绍了Python实现遍历目录的方法,涉及Python针对目录与文件的遍历、判断、读取相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • 浅谈Python实现opencv之图片色素的数值运算和逻辑运算

    浅谈Python实现opencv之图片色素的数值运算和逻辑运算

    今天带大家来学习的是关于Python的相关知识,文章围绕着图片色素的数值运算和逻辑运算展开,文中有非常详细的的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • PyCharm 2020.2.2 x64 下载并安装的详细教程

    PyCharm 2020.2.2 x64 下载并安装的详细教程

    这篇文章主要介绍了PyCharm 2020.2.2 x64 下载并安装的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Pytorch技巧:DataLoader的collate_fn参数使用详解

    Pytorch技巧:DataLoader的collate_fn参数使用详解

    今天小编就为大家分享一篇Pytorch技巧:DataLoader的collate_fn参数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python随机数模块详情

    Python随机数模块详情

    这篇文章主要介绍了Python随机数模块,随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数,下文来看看详细内容,需要的朋友可以参考一下
    2021-11-11

最新评论