【发布时间】:2018-02-06 16:54:10
【问题描述】:
我们有两个数据列表(向量),y 和 x,我们可以想象 x 是时间步长 (0,1,2,...) 和 y 一些系统属性计算在重视x.的每个值
我有兴趣计算y 的log 相对于log 的x, 的导数,问题是如何在Python 中执行这样的计算?
我们可以从使用numpy 计算日志开始:logy = np.log(y) 和logx = np.log(x). 那么我们使用什么方法来区分 dlog(y)/dlog(x)?
想到的一个选项是通过以下方式使用np.gradient():
deriv = np.gradient(logy,np.gradient(logx)).
- 这是进行此计算的有效方法吗?
- 在不使用
np.gradient的情况下是否有更好(或等效)的替代方案?
【问题讨论】:
-
您真的要计算时间列表的
log()吗?我认为这很不寻常。 -
@Alfe 这可能不常见但与实际问题无关,您可以将
x想象为任何向量。 -
np.gradient(logy, logx)不是您要找的吗? -
@Alfe 好吧,我将
np.gradient(logx)作为第二个参数,因为我们想要在微分过程中日志值之间的差异对吗? -
np.gradient([0,1,2,3,4,5], [0, 1, 2, 3.5, 4, 5])→array([1., 1., 0.8667, 1.6667, 1.6667, 1.])所以我想说gradient应该收到日志,就是这样。
标签: python numpy derivative computation