我有以下代码:
Ga=rfft2(A)
A
是 float32
类型,但是 Ga
以 complex128
的形式出现,有效地使我的数据加倍。我怎样才能得到 complex64
数据?当然,这不是 fftw
的默认功能吗?
最佳答案
嗯,看起来类型在C代码中定义的很深。 fftpack_litemodule.c使用 NPY_CDOUBLE
作为数组类型,这基本上就是您的 complex128
。我看到的唯一解决方案是使用 astype(np.complex64)
或使用 scipy.fftpack 将数组转换为 complex64
返回 float64
数组的包,将复杂值编码为:
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))] if n is even
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))] if n is odd
关于python - 如何从 numpy.fft 获取 complex64 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826224/