0

我正在尝试运行以下脚本。我的目的是获得输出,它会在中间给出一个高强度高斯,然后在大高斯的两侧给出两个小高斯。它是所有 y 值的傅立叶总和,每次取不同的 n 值,并将它们与 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()
4

1 回答 1

0

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

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

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

于 2013-02-22T15:29:54.193 回答