Numpy Функция градиента для двумерных массивов возвращает сначала компонент градиента в направлении у, а затем в направлении х - PullRequest
0 голосов
/ 16 апреля 2020

Это довольно нелогично и противоположно тому, что происходит в MATLAB. Код тестирования:

import numpy as np
import matplotlib.pyplot as plt


x = np.arange(-20, 21, 1)
y = np.arange(-20, 21, 1)

X, Y = np.meshgrid(x, y)

Z = 6 -2 * X + Y + 2 * X ** 2 +3 * X * Y + Y ** 2

grad_X = np.gradient(Z)[0]
grad_Y = np.gradient(Z)[1]

# Point where to calculate the gradient
x0 = -2
y0 = 2

grad_X_x0 = grad_X[(X == x0) & (Y == y0)][0]
grad_Y_y0 = grad_Y[(X == x0) & (Y == y0)][0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...