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抓取网页时字符集转换问题处理方案分享
Jun 19 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python走楼梯问题解决方法示例
Jul 25 Python
python实现排序算法解析
Sep 08 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
Python随机数函数代码实例解析
Feb 09 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
Apr 10 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Python列表的深复制和浅复制示例详解
Feb 12 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中操作ini配置文件的方法
2013/04/25 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
PyQt5每天必学之切换按钮
2020/08/20 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Python post请求实现代码实例
2020/02/28 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
无偿献血倡议书
2014/04/14 职场文书
2014年人大工作总结
2014/12/10 职场文书
签订劳动合同通知书
2015/04/16 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书