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实现堆排序的方法详解
May 03 Python
python实现下载整个ftp目录的方法
Jan 17 Python
Python可变参数用法实例分析
Apr 02 Python
Python时间戳使用和相互转换详解
Dec 11 Python
使用python脚本实现查询火车票工具
Jul 19 Python
Python 中字符串拼接的多种方法
Jul 30 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 Python
详解Python:面向对象编程
Apr 10 Python
Python 变量的创建过程详解
Sep 02 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python标准库之typing的用法(类型标注)
Jun 02 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设计聊天室步步通
2006/10/09 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
js控制框架刷新
2008/08/01 Javascript
Firefox window.close()的使用注意事项
2009/04/11 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
详解vue高级特性
2020/06/09 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
利用python实现在微信群刷屏的方法
2019/02/21 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
素食餐饮项目创业计划书
2014/02/02 职场文书
大学军训感言300字
2014/03/09 职场文书
小学总务工作总结
2015/08/13 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL