The trapz()
function computes the definite integral of a given array using the trapezoidal rule. It approximates the area under the curve defined by the input array using a series of trapezoids.
Example
import numpy as np
# create an array of y-coordinates
y = np.array([1, 2, 3, 4, 5])
# compute the definite integral using numpy.trapz()
area = np.trapz(y)
print(area)
# Output: 12
trapz() Syntax
The syntax of trapz()
is:
numpy.trapz(y, x = None, dx = 1.0, axis = -1)
trapz() Arguments
The trapz()
function takes following arguments:
y
- input array containing the y-coordinates of the curvex
(optional) - input array containing the x-coordinates of the curvedx
(optional) - the spacing between the x-coordinatesaxis
(optional) - the axis along which the integration is performed
trapz() Return Value
The numpy.trapz()
function returns the approximate definite integral of the input array using the trapezoidal rule.
Example 1: Compute Definite Integral Using np.trapz()
import numpy as np
# create an array of y-coordinates
y = np.array([2, 5, 7, 3, 6, 9, 1])
# compute the definite integral using numpy.trapz()
area = np.trapz(y)
print("Area under the curve:", area)
Output
Area under the curve: 31.5
In the above example, we have the y array representing the y-coordinates of a curve.
The np.trapz()
function is used to calculate the definite integral of the curve, approximating the area under the curve using the trapezoidal rule.
The resulting area is stored in the area variable and then printed, which in this case is 31.5.
Example 2: Use of x and dx Argument in trapz()
import numpy as np
# create an array of y-coordinates
y = np.array([1, 2, 3, 4, 5])
# create an array of x-coordinates
x = np.array([0, 1, 2, 3, 4])
# specify the spacing between x-coordinates
dx = 0.5
# compute the definite integral using numpy.trapz() with optional arguments
area = np.trapz(y, x=x, dx=dx)
print("Area under the curve:", area)
Output
Area under the curve: 12.0
Here, the x array is provided to specify the x-coordinates, and the dx
argument is used to specify the spacing between the x-coordinates.
By providing x and dx
argument, we can compute the definite integral using non-equally spaced x-coordinates and a specific spacing between the x-coordinates.
Example 3: trapz() With 2-D Array
The axis
argument defines how we can compute definite integrals of elements in a 2-D array.
- If
axis
=None
, the array is flattened and the definite integral of the flattened array is computed. - If
axis
= 0, the definite integral is calculated column-wise. - If
axis
= 1, the definite integral is calculated row-wise.
Let's see an example.
import numpy as np
# create a 2-D array
array1 = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# calculate the definite integral of the flattened array
result1 = np.trapz(array1.flatten())
print('Definite integral of the flattened array:', result1)
# calculate the definite integral column-wise (axis=0)
result2 = np.trapz(array1, axis=0)
print('\nDefinite integrals column-wise (axis=0):')
print(result2)
# calculate the definite integral row-wise (axis=1)
result3 = np.trapz(array1, axis=1)
print('\nDefinite integrals row-wise (axis=1):')
print(result3)
Output
Definite integral of the flattened array: 40.0 Definite integrals column-wise (axis=0): [ 8. 10. 12.] Definite integrals row-wise (axis=1): [ 4. 10. 16.]