使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分
一、单重积分
一般而言,使用求解微积分可以分为两大类:符号积分(即求出解析解)和数值积分(即求出数值解)。在计算机的处理当中,数值解往往更有意义。
quadquadquad函数是 scipyscipyscipy 积分函数的主力。 数值积分有时称为正交积分,因此称为名称。 它通常是在 aaa 到 bbb 给定的固定范围内执行函数 f(x)f(x)f(x) 的单个积分的默认选择,即
∫abf(x)dx\int_a^b {f(x)} \,{\rm d}x∫abf(x)dx
举例:
from scipy import integrate
# 基本使用格式:integrate.quad(func,a,b)
# func是一个函数名,a是积分下限,b是积分上限
# 值得注意的是,使用该积分函数,需要将被积表达式封装在函数内,比如被积表达式是2*x
# 则积分上下限分别为1和2,口算可得,积分结果为:3;那么编程实现如下#先定义函数
print('***********************')
print('方法一:')
def f(x):return 2*x
a = integrate.quad(f,1,2)
print(a)
print('***********************')print('***********************')
print('方法二:')
a = integrate.quad(lambda x : 2*x,1,2) #在quad方法中使用lambda定义函数
print(a)
print('***********************')
输出
方法一:
(3.0, 3.3306690738754696e-14)
***********************
***********************
方法二:
(3.0, 3.3306690738754696e-14)
***********************进程已结束,退出代码0
二、多重积分
双重、三重和多重积分的机制已被包含到函数dblquad,tplquad和nquad中。 这些函数分别积分了四个或六个参数。 所有内积分的界限都需要定义为函数。
双重积分
∫ab∫gfunchfuncf(x)dx\int_a^{b}\int_{gfunc}^{hfunc}{f(x)} \,{\rm d}x∫ab∫gfunchfuncf(x)dx
举例
from scipy import integrateg
# 基本使用格式:integrate(func, a, b,gfunc, hfunc)
# func 是要被积分的函数名,a、b 分别是 x 变量的积分上限和下限
# 而 gfunc 和 hfunc 是定义变量 y 的下限和上限的函数名称。print('***********************')
print('方法一:')
# 被积函数
def f(y, x):return 16*x*y
# 虽然下限是常数,但是还是写成函数形式
def g(x):return 0
# 上限x
def h(y):return 4*y**2
r = integrate.dblquad(f, 1, 2, g, h)
print(r)
print('***********************')print('***********************')
print('方法二:')
f = lambda x, y : 16*x*y
g = lambda x : 0
h = lambda y : 4*y**2
i = integrate.dblquad(f, 1, 2, g, h)
print(i)
print('***********************')
输出
***********************
方法一:
(1343.9999999999998, 4.52284088458721e-11)
***********************
***********************
方法二:
(1343.9999999999998, 4.52284088458721e-11)
***********************进程已结束,退出代码0
除上述例程外,scipy.integrate还有许多其他积分的程序,其中包括执行n次多重积分的nquad以及实现各种集成算法的其他例程。 但是,quad和dblquad将满足对数值积分的大部分需求。
使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分相关推荐
- python scipy.stats.norm.cdf_python的scipy.stats模块中正态分布常用函数总结
python的scipy.stats模块是连续型随机变量的公共方法,可以产生随机数,通常是以正态分布作为scipy.stats的基本使用方法.本文介绍正态分布的两种常用函数:1.累积概率密度函数sta ...
- Scipy.sparse模块中coo_matrix、csc_matrix、csr_matrix区别
Scipy.sparse模块常用的三种具体形式 coo_matrix :COOrdinate format matrix csc_matrix :Compressed Sparse Column ma ...
- Python使用模块中对象的几种方法
Python默认安装仅包含部分基本或核心模块,启动时也仅加载了基本模块,在需要时再显式地加载(有些模块可能需要先安装)其他模块,这样可以减小程序运行的压力,且具有很强的可扩展性.Python中导入模块 ...
- python导入模块中函数或者变量的方法
1.导入整个模块中的函数和变量,代码: >创建模块say_hello.py文件: #file:say_hello.py def say_hi():print("hello,I'm IS ...
- Scipy.sparse模块中的coo_matrix、csc_matrix、csr_matrix函数
三种函数的英文全名,首先是从表面意思上入手. coo_matrix :COOrdinate format matrix(坐标格式矩阵) csc_matrix:Compressed Sparse Col ...
- 《Python编程从入门到实践》记录之将Python函数存储在模块中(import、import*)
目录 1.导入整个模块 2.导入特定的函数 3.使用as给函数指定别名 4.导入模块中的所有函数 5.总结 我们可以在编写程序时将函数存储在被称为模块的独立文件中,再将模块导入到主程序中(必须的步骤) ...
- python中quad_python scipy integrate.quad用法及代码示例
计算定积分. 使用Fortran库QUADPACK中的技术将func从a集成到b(可能是无限间隔). 参数: func:{function, scipy.LowLevelCallable}集成的Pyt ...
- python中使用scipy.integrate求积分、二重积分、三重积分
python中使用scipy.integrate求积分.二重积分.三重积分 代码如下: import numpy as np from scipy.integrate import quad, tpl ...
- matlab 函数 向量参数,Scipy integrate(quad,quadration,nquad)不能集成向量参数化函数?等效函数(MATLAB works)...
我正在将一些代码从MATLAB转换为python,并且正在努力获得一个函数,该函数以数组参数(作为参数)来使用Scipy进行集成.在 我已经将代码简化为一个在Scipy中产生相同错误的基本示例,而等效 ...
最新文章
- php 操作mssql,php操作mssql
- Leetcode-探索 | 存在重复
- protected private public 的区别
- 利用Reachability实现网络状态监听
- router-link
- sqlserver字符串分割
- Django 1.10中文文档-聚合
- GIS_gdal geotiff文件与JAVA 浮点二维数组array之间的转换
- Java定时任务自动调用方法
- 绕过深澜校园宽带认证客户端使用校园网的方法
- 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
- 管理员已阻止你运行此应用。有关详细信息,请与管理员联系。windows10
- 天梯赛:L2-039 清点代码库 (25 分)
- Haskell编程指南 | Lynda教程 中文字幕
- 基于小样本量的水下图像识别
- 登陆启明星辰天清web网关
- 金木棉java_搜寻引擎没有收录网站页面的罕见缘由
- 给并查集融入武侠元素——看完故事就会了
- python 打印输出到文件中
- 设计模式1-工厂模式