繁体   English   中英

一维Numpy阵列的导数

[英]Derivative of 1D Numpy Array

如果我有一个一维的numpy数组,并且想返回一个包含相对于x的一阶导数的一维的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

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

您可以在Wikipedia 有限差分页面上阅读更多有关该方法的信息。

让我们看一个简单的例子,如何获得正确的渐变

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM