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 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
Django集成百度富文本编辑器uEditor攻略
Jul 04 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
python requests.get带header
May 05 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
django中ImageField的使用详解
Dec 21 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 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之第九天
2006/10/09 PHP
使用无限生命期Session的方法
2006/10/09 PHP
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
php常用的工具开发整理
2019/09/26 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python 3 判断2个字典相同
2019/08/06 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
高中班主任评语大全
2014/04/25 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
义卖募捐活动总结
2015/05/09 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
python绘制箱型图
2021/04/27 Python
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle