Spec-Zone.ru › NumPy 1.11

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API