numpy.gradient
-
numpy.gradient(f, *varargs, **kwargs)[source] -
Возвращает градиент N-мерного массива.
Градиент вычисляется с использованием центральных разностей второго порядка внутри и либо разностей первого порядка, либо разностей второго порядка с одной стороны (вперед или назад) на границах. Возвращаемый градиент имеет ту же форму, что и входной массив.
Параметры: f : array_like
N-мерный массив, содержащий образцы скалярной функции.
varargs : скаляр или список скаляров, необязательно
N скаляров, задающих расстояния между выборками для каждой размерности, т.е.
dx,dy,dz, ... По умолчанию расстояние: 1. Один скаляр задаёт расстояние между выборками для всех измерений. Еслиaxisзадан, количество varargs должно равняться числу осей.edge_order : {1, 2}, необязательно
Градиент вычисляется с использованием разностей N-го порядка на границах. По умолчанию: 1.
Новое в версии 1.9.1.
axis : None или int или кортеж из целых чисел, необязательно
Градиент вычисляется только по заданной оси или осям. По умолчанию (axis = None) вычисляется градиент по всем осям входного массива. axis может быть отрицательным, в этом случае он отсчитывается от последней до первой оси.
Новое в версии 1.11.0.
Возвращаемое значение: gradient : список ndarray
Каждый элемент
listимеет ту же форму, что иf, давая производнуюfпо каждой размерности.Примеры
>>> x = np.array([1, 2, 4, 7, 11, 16], dtype=np.float) >>> np.gradient(x) array([ 1. , 1.5, 2.5, 3.5, 4.5, 5. ]) >>> np.gradient(x, 2) array([ 0.5 , 0.75, 1.25, 1.75, 2.25, 2.5 ])
Для двумерных массивов возвращаемый результат будет двумя массивами, упорядоченными по оси. В этом примере первый массив соответствует градиенту по строкам, а второй — по столбцам:
>>> np.gradient(np.array([[1, 2, 6], [3, 4, 5]], dtype=np.float)) [array([[ 2., 2., -1.], [ 2., 2., -1.]]), array([[ 1. , 2.5, 4. ], [ 1. , 1. , 1. ]])]>>> x = np.array([0, 1, 2, 3, 4]) >>> dx = np.gradient(x) >>> y = x**2 >>> np.gradient(y, dx, edge_order=2) array([-0., 2., 4., 6., 8.])
Ключевое слово axis может использоваться для указания подмножества осей, по которым вычисляется градиент >>> np.gradient(np.array([[1, 2, 6], [3, 4, 5]], dtype=np.float), axis=0) array([[ 2., 2., -1.],
[ 2., 2., -1.]])
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.gradient.html