Массив, возвращаемый функцией numpy.gradient
, зависит от количества точек данных/интервалов точек данных. Это ожидаемое поведение? Например:Функция градиента numpy и числовые производные
y = lambda x: x
x1 = np.arange(0,10,1)
x2 = np.arange(0,10,0.1)
x3 = np.arange(0,10,0.01)
plt.plot(x1,np.gradient(y(x1)),'r--o')
plt.plot(x2,np.gradient(y(x2)),'b--o')
plt.plot(x3,np.gradient(y(x3)),'g--o')
возвращает участок.
Только градиент y (x1) возвращает правильный результат. Что здесь происходит? Есть ли лучший способ вычислить числовую производную с помощью numpy?
Приветствия
Awesome, спасибо pabaldonedo. Я видел, что в руководстве, но «выборка расстояния» была для меня незнакомой терминологией. Один последний вопрос - что, если расстояние выборки не равно? В руководстве нет ничего. – user1654183
Если расстояние даже не нужно вычислять вручную. – pabaldonedo
@ user1654183 Я отредактировал свой ответ, чтобы включить возможное решение для случая, когда расстояние выборки не равно. – pabaldonedo