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


Posted in Python onNovember 20, 2019

背景:

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 相关文章推荐
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
Python中获取网页状态码的两个方法
Nov 03 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
Dec 12 Python
Python ATM功能实现代码实例
Mar 19 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 Python
virtualenv隔离Python环境的问题解析
Jun 21 Python
利用python实现AR教程
Nov 20 #Python
使用python实现画AR模型时序图
Nov 20 #Python
Python笔记之工厂模式
Nov 20 #Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 #Python
将python2.7添加进64位系统的注册表方式
Nov 20 #Python
10个Python面试常问的问题(小结)
Nov 20 #Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 #Python
You might like
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php文件下载处理方法分析
2015/04/22 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
JavaScript DOM基础
2015/04/13 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
python中的内置函数getattr()介绍及示例
2014/07/20 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
建材业务员岗位职责
2013/12/08 职场文书
高中毕业自我鉴定
2013/12/13 职场文书
学习党章思想汇报
2014/01/07 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
创先争优活动承诺书
2014/08/30 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
感恩的心主题班会
2015/08/12 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书