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字符串,数值计算
Oct 05 Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
python中Switch/Case实现的示例代码
Nov 09 Python
python3+PyQt5实现拖放功能
Apr 24 Python
python使用PIL给图片添加文字生成海报示例
Aug 17 Python
使用Python横向合并excel文件的实例
Dec 11 Python
python将视频转换为全字符视频
Apr 26 Python
Python远程视频监控程序的实例代码
May 05 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
使用Python操作MySQL的小技巧
Sep 10 Python
如何用python插入独创性声明
Mar 31 Python
OpenCV-Python实现轮廓拟合
Jun 08 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获取当前完整URL地址的函数
2014/12/21 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
如何实现JS函数的重载
2006/09/22 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
python实现按关键字筛选日志文件
2019/12/24 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
教育孩子心得体会
2014/01/01 职场文书
美德好少年主要事迹
2014/01/29 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
2015年除四害工作总结
2015/07/23 职场文书