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 相关文章推荐
python实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
Python中的urllib模块使用详解
Jul 07 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
实践Vim配置python开发环境
Jul 02 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
python学习之hook钩子的原理和使用
Oct 25 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
python uuid生成唯一id或str的最简单案例
Jan 13 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
浅谈react性能优化的方法
2018/09/05 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
python实现简单购物商城
2016/05/21 Python
速记Python布尔值
2017/11/09 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python logging添加filter教程
2019/12/24 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
Python通过文本和图片生成词云图
2020/05/21 Python
Python 存取npy格式数据实例
2020/07/01 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
中药学专业毕业生推荐信
2014/07/10 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
优秀班集体申报材料
2014/12/25 职场文书
学生会招新宣传语
2015/07/13 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers
redis 解决库存并发问题实现数量控制
2022/04/08 Redis
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS