decay = 0.1
data = np.array([100,200,300,400,500])
y = np.zeros(len(data))
for i in range(len(data)):
if i == 0:
y[i] = (1.0 - decay) * data[i]
else:
y[i] = (1.0 - decay) * data[i] + (decay * y[i - 1])
y
输出:
array([ 90. , 189. , 288.9 , 388.89 , 488.889])
现在,我通过索引将其缩短
decay = 0.1
data = np.array([100,200,300,400,500])
data = (1.0 - decay) * data
data[1:] = data[1:] + decay * data[0:-1]
data
输出:
array([ 90., 189., 288., 387., 486.])
我觉得我在这里做了一些错误,或者丢失了浮点值,或者没有得到累积值,因为两个输出都不匹配,第一个输出是正确的,这里的错误是什么
目前没有回答
相关问题 更多 >
编程相关推荐