In this article, we understand and implement
numpy.trapz() which is a NumPy function. This function integrates along the given axis using the composite trapezoidal rule.
What is numpy.trapz()?
numpy.trapz() is used to Integrate along the given axis using the composite trapezoidal rule. If x is provided, the integration happens in sequence along its elements.
What is the trapezoidal rule?
- Area of trapezium = 1/2(sum of parallel sides)*height
- The name trapezoidal is because when the area under the curve is evaluated, then the total area is divided into small trapezoids instead of rectangles
- This rule is used for approximating the definite integrals where it uses the linear approximations of the functions.
- To know more visit the trapezoidal rule.
numpy.trapz(y, x = None, dx = 1.0, axis = -1)
|y:array_like||Input array to integrate||Required|
|x:array_like||The sample points correspond to the y values. If x is None, the sample points are assumed to be evenly spaced dx apart. The default is None.||Optional|
|dx: scalar||The spacing between sample points when x is None. The default is 1.||Optional|
|axis||The axis along which to integrate.||Optional|
Definite integral of y = n-dimensional array as approximated along a single axis by the trapezoidal rule. If y is a 1-dimensional array, then the result is a float. If n is greater than 1, then the result is an n-1 dimensional array.
Examples of numpy.trapz()
Importing numpy, declaring and printing x and y arrays.
import numpy as np y = [1, 3, 5, 7] x = [1, 5, 9, 13] print(y) print(x)
[1, 3, 5, 7] [1, 5, 9, 13]
Example 1: Calculating the Area with numpy.trapz() and Default dx=1
Here we have only provided argument y, therefore
np.trapz() will take dx=1 as the default argument and x=None. We will get the trapezoidal area with x-axis points spaced with a difference of 1(dx=1).
- Area of 1st trapezium = (1/2)*(1+3)*1 = 2
- Area of 2nd trapezium = (1/2)*(3+5)*1 = 4
- Area of 3rd trapezium = (1/2)*(5+7)*1= 6
- Total area = 2+4+6 = 12
Example 2: numpy.trapz() with User-Defined x and dx Values
Here we have also provided array x corresponding to array y, So here area of the trapeziums will be calculated with height as the difference between the 2 points on the x-axis.
- Area of 1st trapezium = (1/2)*(1+3)*(5-1) = 8
- Area of 2nd trapezium = (1/2)*(3+5)*(9-5) = 16
- Area of 3rd trapezium = (1/2)*(5+7)*(13-9)= 24
- Total area = 8+16+24 = 48
Example 3: Calculating the Area with numpy.trapz() and Custom dx Value
ans =np.trapz(y,dx=3) print(ans)
Here we have defined dx=3 so every trapezium will have a height of h = 3 instead of 1(Example 1). Also x=None.
- Area of 1st trapezium = (1/2)*(1+3)*3 = 6
- Area of 2nd trapezium = (1/2)*(3+5)*3 = 12
- Area of 3rd trapezium = (1/2)*(5+7)*3= 18
- Total area = 6+12+18 = 36
In this article, We have introduced the trapezoidal rule, understood and implemented the
numpy.trapz() function directly with default arguments, and also with different parameter values of x and dx parameters.
numpy.trapz() is used to calculate the definite integral of the given function using the trapezoidal rule.