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 20 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
python实现自动化上线脚本的示例
Jul 01 Python
python 项目目录结构设置
Feb 14 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
Python extract及contains方法代码实例
Sep 11 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python __slots__的使用方法
Nov 15 Python
python神经网络编程之手写数字识别
May 08 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 Python
Python加密技术之RSA加密解密的实现
Apr 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
一个查看session内容的函数
2006/10/09 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
php生成HTML文件的类方法
2019/10/11 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
windows下python安装pip图文教程
2018/05/25 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
竞聘副主任科员演讲稿
2014/01/11 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
Java集成swagger文档组件
2021/06/28 Java/Android
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis