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 socket编程实例详解
May 27 Python
python中reduce()函数的使用方法示例
Sep 29 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Python绘图实现显示中文
Dec 04 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
学习Python列表的基础知识汇总
Mar 10 Python
Python实现多线程下载脚本的示例代码
Apr 03 Python
Python可以实现栈的结构吗
May 27 Python
python pillow库的基础使用教程
Jan 13 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
咖啡常见的种类
2021/03/03 新手入门
php网页后退不再出现过期
2007/03/08 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
用Python制作简单的钢琴程序的教程
2015/04/01 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
如何用Python 加密文件
2020/09/10 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
设计部经理的岗位职责
2013/11/16 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python