當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。