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判断操作系统类型代码分享
Nov 22 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
Django之PopUp的具体实现方法
Aug 31 Python
聊聊python中的异常嵌套
Sep 01 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 Python
详解Pytorch显存动态分配规律探索
Nov 17 Python
Python离线安装各种库及pip的方法
Nov 28 Python
Python 多进程原理及实现
Dec 21 Python
Python入门基础之数字字符串与列表
Feb 01 Python
Python深度学习之实现卷积神经网络
Jun 05 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,js双版本
2012/09/25 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
python实现大学人员管理系统
2019/10/25 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
what is the difference between ext2 and ext3
2015/08/25 面试题
构建高效课堂实施方案
2014/03/13 职场文书
化工实习心得体会
2014/09/09 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
Java的Object类的九种方法
2022/04/13 Java/Android