Производная 1D Numpy Array - PullRequest
       14

Производная 1D Numpy Array

0 голосов
/ 12 февраля 2019

Если у меня есть массив 1D NumPy и я хочу вернуть массив 1D NUMPY, содержащий первые производные по x, тогда я должен использовать np.gradient (x)?Я думаю, что делаю что-то не так

Это код, который у меня есть, но он говорит мне, что мой ответ неверен.

def dfunc(x):
'''
Parameters
x: 1D numpy array
Returns
df: 1D numpy array containing first derivatives wrt x
'''
# WRITE YOUR CODE HERE
df = np.gradient(x)
return df

1 Ответ

0 голосов
/ 12 февраля 2019

Функция числового градиента вычисляет аппроксимацию конечной разности по центру второго порядка для градиента.

вы можете прочитать в википедии страница с конечной разностью подробнее о методе.

давайте посмотрим, как мы получим правильный градиент на простом примере

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как и ожидалось

...