用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 PyInstaller安装和使用教程详解

Pyinstaller这个库是我用pip下载的第一个模块。接下来通过本文给大家分享Python PyInstaller安装和使用教程,一起看看吧。 安装 PyInstalle Pytho...

Python随机生成均匀分布在单位圆内的点代码示例

Python随机生成均匀分布在单位圆内的点代码示例

Python有一随机函数可以产生[0,1)区间内的随机数,但是如果我们想生成随机分布在单位圆上的,那么我们可以首先生成随机分布在单位圆边上的点,然后随机调整每个点距离原点的距离,但是我们...

pandas删除行删除列增加行增加列的实现

创建df: >>> df = pd.DataFrame(np.arange(16).reshape(4, 4), columns=list('ABCD'), ind...

Python解析json时提示“string indices must be integers”问题解决方法

本文实例讲述了Python解析json时提示“string indices must be integers"问题解决方法。分享给大家供大家参考,具体如下: import json,但是...

python中的RSA加密与解密实例解析

这篇文章主要介绍了python RSA加密与解密实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是RSA: RSA公开密...