Return the gradient of an N-dimensional array and specify edge order in Python

PythonNumpyServer Side ProgrammingProgramming

The gradient is computed using second order accurate central differences in the interior points and either first or second order accurate one-sides (forward or backwards) differences at the boundaries. The returned gradient hence has the same shape as the input array. The 1st parameter, f is an Ndimensional array containing samples of a scalar function. The 2nd parameter is the varargs i.e. the spacing between f values. Default unitary spacing for all dimensions.

The 3rd parameter is the edge_order{1, 2} i.e. the Gradient is calculated using N-th order accurate differences at the boundaries. Default: 1. The 4th parameter is the Gradient, which is calculated only along the given axis or axes. The default (axis = None) is to calculate the gradient for all the axes of the input array. axis may be negative, in which case it counts from the last to the first axis. The method returns a list of ndarrays corresponding to the derivatives of f with respect to each dimension. Each derivative has the same shape as f.

Steps

At first, import the required libraries −

import numpy as np

Creating a numpy array using the array() method. We have added elements of float type −

arr = np.array([20, 35, 57, 70, 85, 120], dtype = float)

Display the array −

print("Our Array...\n",arr)

Check the Dimensions −

print("\nDimensions of our Array...\n",arr.ndim)

Get the Datatype −

print("\nDatatype of our Array object...\n",arr.dtype)

The gradient is computed using second order accurate central differences in the interior points and either first or second order accurate one-sides (forward or backwards) differences at the boundaries. The returned gradient hence has the same shape as the input array −

print("\nResult (gradient)...\n",np.gradient(arr, edge_order=2))

Example

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of float type
arr = np.array([20, 35, 57, 70, 85, 120], dtype = float)

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# The gradient is computed using second order accurate central differences in the interior points and either first or second order accurate one-sides (forward or backwards) differences at the boundaries. The returned gradient hence has the same shape as the input array.
print("\nResult (gradient)...\n",np.gradient(arr, edge_order=2))

Output

Our Array...
[ 20. 35. 57. 70. 85. 120.]

Dimensions of our Array...
1

Datatype of our Array object...
float64

Result (gradient)...
[11.5 18.5 17.5 14. 25. 45. ]
raja
Updated on 28-Feb-2022 07:55:49

Advertisements