当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy integrate.romberg用法及代码示例


本文简要介绍 python 语言中 scipy.integrate.romberg 的用法。

用法:

scipy.integrate.romberg(function, a, b, args=(), tol=1.48e-08, rtol=1.48e-08, show=False, divmax=10, vec_func=False)#

Romberg 集成了一个可调用的函数或方法。

返回积分函数(一个变量的函数)在区间 (a,b)。

如果 show 为 1,将打印中间结果的三角数组。如果 vec_func 为 True(默认为 False),则假定函数支持向量参数。

参数

function 可调用的

要集成的函数。

a 浮点数

积分的下限。

b 浮点数

积分上限。

返回

results 浮点数

整合的结果。

其他参数

args 元组,可选

传递给函数的额外参数。 args 的每个元素将作为单个参数传递给 func。默认是不传递额外的参数。

tol, rtol 浮点数,可选

所需的绝对和相对公差。默认值为 1.48e-8。

show 布尔型,可选

是否打印结果。默认为假。

divmax 整数,可选

外推的最大阶数。默认值为 10。

vec_func 布尔型,可选

func 是否将数组作为参数处理(即,它是否是“vector” 函数)。默认为假。

参考

例子

对 0 到 1 的高斯积分并与误差函数进行比较。

>>> from scipy import integrate
>>> from scipy.special import erf
>>> import numpy as np
>>> gaussian = lambda x: 1/np.sqrt(np.pi) * np.exp(-x**2)
>>> result = integrate.romberg(gaussian, 0, 1, show=True)
Romberg integration of <function vfunc at ...> from [0, 1]
Steps  StepSize  Results
    1  1.000000  0.385872
    2  0.500000  0.412631  0.421551
    4  0.250000  0.419184  0.421368  0.421356
    8  0.125000  0.420810  0.421352  0.421350  0.421350
   16  0.062500  0.421215  0.421350  0.421350  0.421350  0.421350
   32  0.031250  0.421317  0.421350  0.421350  0.421350  0.421350  0.421350

经过 33 次函数评估后,最终结果为 0.421350396475。

>>> print("%g %g" % (2*result, erf(1)))
0.842701 0.842701

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.integrate.romberg。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。