一维Numpy数组的导数

问题描述 投票:0回答:1

如果我有一个numpy数组,并且我想返回包含x的一阶导数的1D numpy数组,那么我是否使用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
python numpy numpy-ndarray
1个回答
1
投票

numpy梯度函数计算梯度的二阶中心有限差分近似。

你可以在维基百科qazxsw poi上阅读更多有关该方法的内容。

让我们看看如何通过一个简单的例子得到正确的梯度

finite difference page

诅咒f的渐变应该是2但是

f = np.linspace(0,100,1000) * 2

将返回数组已满,值为0.2002002,因为元素之间的np.gradient默认间距为1.0,所以为了得到正确的答案,我们应该指定f数组中元素之间的间距。

np.gradient(f)

将按预期返回数组填充2.0

© www.soinside.com 2019 - 2024. All rights reserved.