用python求一重积分和二重积分的例子

yipeiwu_com6年前Python基础

首先是对一元函数求积分,使用Scipy下的integrate函数:

from scipy import integrate
def g(x):
  return (1-x**2)**0.5
 
#用integrate下的quad函数可以同时求出积分结果和误差
res,err=integrate.quad(g,-1,1) #-1和1表示积分上下限,如果是正无穷用np.inf
print(res,err)

得到的结果如下,前者是积分结果,后者是误差

1.5707963267948986 1.0002356720661965e-09

如果是二重积分,比如是关于t和x的积分:

import numpy as np
from scipy.integrate import dblquad #dblquad用于二重积分
def main():
  print(dblquad(lambda t,x:np.sin(t)*np.exp(-x*t)/t**5,0.5,0.8,lambda x:0.2,lambda x:0.7))
 
if __name__ == "__main__":
  main()

在上面的括号中,被积函数是sint*exp(-xt)/t^5, 其中t的积分上下限是0.5和0.8,x的积分上下限是0.2和0.7,结果如下:

(10.041536868759145, 1.3645801372419182e-11)

以上这篇用python求一重积分和二重积分的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python上传package到Pypi(代码简单)

废话不多说了,直接给大家贴代码了。 编写setup.py后 $ python setup.py register $ python setup.py sdist upload 以上...

python判断一个对象是否可迭代的例子

如何判断一个对象是可迭代对象? 方法是通过collections模块的Iterable类型判断: >>> from collections import Iter...

解决win64 Python下安装PIL出错问题(图解)

解决win64 Python下安装PIL出错问题(图解)

1、软件版本 首先我先安装了 python 2.7 pip是  8.1.2 2、当我要安装PIL时,我在cmd下面输入:pip install PIL 错误提示是: Coul...

基于Python实现迪杰斯特拉和弗洛伊德算法

图搜索之基于Python的迪杰斯特拉算法和弗洛伊德算法,供大家参考,具体内容如下 Djstela算法 #encoding=UTF-8 MAX=9 ''' Created on 20...

python实现微信发送邮件关闭电脑功能

Python 通过微信邮件实现电脑关机,供大家参考,具体内容如下 通过手机微信发送QQ邮件给sina邮箱,然后利用python的pop3定时检查sina邮箱的邮件主题以及邮件来源,并在电...