我想创建一个新的浮动ES列表。 ES中的第一个值= L1中的第一个值。 ES的其余部分基于以下公式:我需要在不使用任何库/包的情况下执行此操作。
公式:es1 =(a * L1t)+(1-a)* ES t-1
L1 = [430.92, 437.39, 535.03, 496.54, 520.72, 628.35, 679.06, 636.99, 574.81, 579.04, 598.50, 683.85]
a = 0.25
ES = []
ES.append(float(L1[0]))
for i in range(1, len(L1)):
es1 = (a * (L1[i])) + ((1 - a) * ES[i-1])
ES.append(float(es1[i]))
print(ES)
答案 0 :(得分:0)
错误消息告诉所有内容。如果仔细观察,解释器甚至会告诉您发生错误的行。在此行(ES.append(float(es1[i]))
)中,您尝试下标已分配给上一行中的浮点值的值。你也可以摆脱float
构造函数:
L1 = [430.92, 437.39, 535.03, 496.54, 520.72, 628.35, 679.06, 636.99, 574.81, 579.04, 598.50, 683.85]
a = 0.25
ES = []
ES.append(L1[0])
for i in range(1, len(L1)):
es_i = (a * (L1[i])) + ((1 - a) * ES[i-1])
ES.append(es_i)
print(ES)