【发布时间】:2011-02-22 04:50:06
【问题描述】:
大家好,所以我在 python 中为一个类实现了离散傅立叶变换的简单版本,但是我的输出发生了一些奇怪的事情,我不知道为什么。例如,如果我的输入是 [a,b,c,d],则值会像 [a',d',c',b'] 一样被打乱,列表的头部位于同一位置,但其他值相反.这是我的代码:
def DFT(pts, carr):
t = time.clock()
F =[0]*pts
for k in range(pts):
c = 2j*k*math.pi/pts
for n in range(pts):
F[k] += complex(carr[n]) * cmath.exp(n*c)
t = time.clock()-t
print(str(pts) + " point DFT finished in " + str(t) + "s")
return F
它超级简单,但由于某种原因,它会随意翻转数组,我不知道为什么。有人知道这里发生了什么吗?我确定输入的顺序正确。
【问题讨论】:
-
你能给我们一些值来传递给你的函数以及预期的结果吗?
标签: python python-3.x