Функция числового градиента вычисляет аппроксимацию конечной разности по центру второго порядка для градиента.
вы можете прочитать в википедии страница с конечной разностью подробнее о методе.
давайте посмотрим, как мы получим правильный градиент на простом примере
f = np.linspace(0,100,1000) * 2
проклятия, градиент f должен быть 2, но
np.gradient(f)
вернет массивзаполнено значениями 0.2002002, и это потому, что np.gradient расстояние по умолчанию между элементами равно 1.0, поэтому для получения правильного ответа мы должны указать расстояние между элементами в массиве f.
np.gradient(f, varargs=np.linspace(0,100, 1000)[1])
вернет заполнение массива 2.0как и ожидалось