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 optparse模块使用实例
Apr 09 Python
Python中list初始化方法示例
Sep 18 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
python处理xml文件的方法小结
May 02 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python递归法解决棋盘分割问题
Jul 17 Python
Python csv模块使用方法代码实例
Aug 29 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
matlab xlabel位置的设置方式
May 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获取当前文件的父目录方法汇总
2016/07/21 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
js判断是否是手机页面
2017/03/17 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
python实现支付宝转账接口
2019/05/07 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
人事主管岗位职责
2014/01/30 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
Python MNIST手写体识别详解与试练
2021/11/07 Python
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技
Python 文字识别
2022/05/11 Python