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使用reportlab实现图片转换成pdf的方法
May 22 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
python字符串的方法与操作大全
Jan 30 Python
TensorFlow实现创建分类器
Feb 06 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python之基数排序的实现
Jul 26 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
ftp类(myftp.php)
2006/10/09 PHP
获得Google PR值的PHP代码
2007/01/28 PHP
php注销代码(session注销)
2012/05/31 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
一份python入门应该看的学习资料
2018/04/11 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
个人求职简历的自我评价范文
2013/10/09 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
外贸英文求职信范文
2015/03/19 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
写给女朋友的检讨书
2015/05/06 职场文书