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)[source]¶
- Romberg integration of a callable function or method. - Returns the integral of function (a function of one variable) over the interval (a, b). - If show is 1, the triangular array of the intermediate results will be printed. If vec_func is True (default is False), then function is assumed to support vector arguments. - Parameters: - function : callable - Function to be integrated. - a : float - Lower limit of integration. - b : float - Upper limit of integration. - Returns: - results : float - Result of the integration. - Other Parameters: - args : tuple, optional - Extra arguments to pass to function. Each element of args will be passed as a single argument to func. Default is to pass no extra arguments. - tol, rtol : float, optional - The desired absolute and relative tolerances. Defaults are 1.48e-8. - show : bool, optional - Whether to print the results. Default is False. - divmax : int, optional - Maximum order of extrapolation. Default is 10. - vec_func : bool, optional - Whether func handles arrays as arguments (i.e whether it is a “vector” function). Default is False. - See also - fixed_quad
- Fixed-order Gaussian quadrature.
- quad
- Adaptive quadrature using QUADPACK.
- dblquad
- Double integrals.
- tplquad
- Triple integrals.
- romb
- Integrators for sampled data.
- simps
- Integrators for sampled data.
- cumtrapz
- Cumulative integration for sampled data.
- ode
- ODE integrator.
- odeint
- ODE integrator.
 - References - [R40] - ‘Romberg’s method’ http://en.wikipedia.org/wiki/Romberg%27s_method - Examples - Integrate a gaussian from 0 to 1 and compare to the error function. - >>> from scipy import integrate >>> from scipy.special import erf >>> 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- The final result is 0.421350396475 after 33 function evaluations. - >>> print("%g %g" % (2*result, erf(1))) 0.842701 0.842701 
