傅立叶求和与不同的命令

时间:2013-02-22 14:01:47

标签: python

我正在尝试运行以下脚本。我的目的是得到输出,它将在中间产生一个高强度高斯,然后在大两侧产生两个小高斯。它是每次采用不同n值的所有y值的傅立叶求和,并将它们与x进行绘制。但不知何故,我没有得到理想的结果。一些帮助将不胜感激。代码 -

from pylab import *

n = 6    
D = 6

x = linspace(-3, 3, 13000)    
y = [1, 1, 1, 1, 1]    
F = []

for i in range(1,n):
    F=sum((item*cos(2*pi*i*x/D)for item in y)) 

plot(x,F,'r')

show()

1 个答案:

答案 0 :(得分:0)

每次循环都会重新分配F。这可能是您的问题,因为在循环结束时for i in range(1,n)您将F作为数字,而不是数字的列表

要创建F值列表,只需将F = sum(....)更改为F.append(sum(...)),最后您将得到一个值列表。

另请注意,range(1, n)是从1n-1的范围。这可能是您想要的也可能不是。