用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实现在pandas.DataFrame添加一行

实例如下所示: from pandas import * from random import * df = DataFrame(columns=('lib', 'qty1', 'q...

python程序运行进程、使用时间、剩余时间显示功能的实现代码

有很多程序运行时间比较长,如果不将运行过程输出将很难判断程序运行的时间。下边这段程序将按照上图所示的格式输出程序运行进程、已用时间、剩余时间。 def time_change(tim...

Python的for和break循环结构中使用else语句的技巧

在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句。 for i in range(5): if i...

Python多线程同步---文件读写控制方法

Python多线程同步---文件读写控制方法

1、实现文件读写的文件ltz_schedule_times.py #! /usr/bin/env python #coding=utf-8 import os def ReadTi...

Python中BeautifuSoup库的用法使用详解

BeautifulSoup简介 Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的、pytho...