相关疑难解决方法(0)

用Python计算Unity的第n个根

所以,我正在尝试编写一个算法croot(k,n),它返回n的第k个根,n == n.我得到了大多数正确的答案,但它给了我一些奇怪的陈述,这些陈述似乎对某些数字是错误的.这是一个例子.

import cmath

def croot(k, n):
    if n<=0:
        return None
    return cmath.exp((2 * cmath.pi * 1j * k) / n)


for k in range(8):
    print croot(k, 8)
Run Code Online (Sandbox Code Playgroud)

输出是:

(1+0j)
(0.70710...+0.70710...j)
(6.12323399574e-17+1j)
Run Code Online (Sandbox Code Playgroud)

哇哇哇哇 所以k = 2和n = 8时的根是错误的,因为它应该是i,它将表示为1j,或j,或1.00000j等.有人可以帮助我吗?我这样做是因为我正在尝试编写FFT算法.我对复杂的数字和Python不是很有经验,所以我很可能犯了一个简单的错误.

谢谢,

如果你们需要任何其他信息,请询问.

python fft complex-numbers dft

2
推荐指数
2
解决办法
2641
查看次数

标签 统计

complex-numbers ×1

dft ×1

fft ×1

python ×1