【发布时间】:2020-07-15 19:23:42
【问题描述】:
所以我尝试使用 numpy.gradient 获得以下公式的二阶导数,并且尝试通过 S[:,0] 将其区分一次,然后通过 S[:,1] 区分它
S = np.random.multivariate_normal(mean, covariance, N)
formula = (S[:,0]**2) * (S[:,1]**2)
但问题是当我使用间距作为 numpy.gradient 的第二个参数时
dx = np.diff(S[:,0])
dy = np.diff(S[:,1])
dfdx = np.gradient(formula,dx)
我收到错误提示
ValueError: when 1d, distances must match the length of the corresponding dimension
我明白这是因为间距向量长度比公式的少一个元素,但我不知道该怎么做才能解决这个问题。 我在某处也读过,您可以将点的坐标而不是间距作为第二个参数,但是当我尝试通过将公式与 S[:,0] 和 S[ 进行微分来检查结果时: ,1],然后尝试通过 S[:,0] 再通过 S[:,1] 进行区分,并比较两个结果,应该是相似的;这两个结果之间存在巨大差异。
谁能向我解释我在这里做错了什么?
【问题讨论】: