bundles / scipy latest / scipy / integrate / _quadrature / trapezoid
function
scipy.integrate._quadrature:trapezoid
Signature
def trapezoid ( y , x = None , dx = 1.0 , axis = -1 ) Summary
Integrate along the given axis using the composite trapezoidal rule.
Extended Summary
If x is provided, the integration happens in sequence along its elements - they are not sorted.
Integrate y (x) along each 1d slice on the given axis, compute . When x is specified, this integrates along the parametric curve, computing .
Parameters
y: array_likeInput array to integrate.
x: array_like, optionalThe sample points corresponding to the
yvalues. Ifxis None, the sample points are assumed to be evenly spaceddxapart. The default is None.dx: scalar, optionalThe spacing between sample points when
xis None. The default is 1.axis: int, optionalThe axis along which to integrate. The default is the last axis.
Returns
trapezoid: float or ndarrayDefinite integral of
y= n-dimensional array as approximated along a single axis by the trapezoidal rule. Ifyis a 1-dimensional array, then the result is a float. Ifnis greater than 1, then the result is ann-1 dimensional array.
Notes
Image [2] illustrates trapezoidal rule -- y-axis locations of points will be taken from y array, by default x-axis distances between points will be 1.0, alternatively they can be provided with x array or with dx scalar. Return value will be equal to combined area under the red lines.
Array API Standard Support
trapezoid has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ✅ PyTorch ✅ ✅ JAX ⛔ ⛔ Dask ✅ n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
Use the trapezoidal rule on evenly spaced points:import numpy as np from scipy import integrate✓
integrate.trapezoid([1, 2, 3])
✗integrate.trapezoid([1, 2, 3], x=[4, 6, 8]) integrate.trapezoid([1, 2, 3], dx=2)✗
integrate.trapezoid([1, 2, 3], x=[8, 6, 4])
✗x = np.linspace(0, 1, num=50) y = x**2✓
integrate.trapezoid(y, x)
✗theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True)
✓integrate.trapezoid(np.cos(theta), x=np.sin(theta))
✗a = np.arange(6).reshape(2, 3) a integrate.trapezoid(a, axis=0)✓
integrate.trapezoid(a, axis=1)
✗See also
Aliases
-
scipy.integrate.trapezoid