Python使用Scipy求解一重与二重积分实例

白榆
白榆
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何利用Python的Scipy库进行数值积分计算。通过具体代码示例,演示如何使用integrate.quad求解一元函数的一重积分,以及如何利用dblquad处理涉及两个变量的二重积分问题,包含完整的函数定义、参数设置及结果解析。

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

Python求解二重积分

若需计算二重积分,例如针对变量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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。