我之前询问过这段代码并得到了一些有用的答案,但我想再添加一个步骤,这给了我一个错误。该代码生成一组余弦波,然后将它们全部相加。这是代码:
from pylab import *
from numpy import *
freq=[]
x=linspace(-4000,4000,8001)
sum=0
for i in range(1,121,1):
freq.append(cos(2*pi*i*(x/8001)))
sum=(sum + freq[i])/i
plot(x,sum)
show()
使用此代码,我收到错误“第 8 行,在 sum=(sum + freq[i])/i IndexError: list index out of range”
但是,当我从零开始范围时:for i in range(121)
并删除sum=sum + freq[i]
程序分母中的 i 工作正常。
我不明白当列表中没有零时它如何看到索引超出范围而当有零时它工作?