我正在尝试高效地np.fft.fftn
和2D numpy数组的数组。V0
是一个形状(nvar,nx,ny)
的数组,我想从V0
的第一维对每个2D数组执行FFT。我在这里要做的是比较V0
的第一个轴上的迭代,并将其与对整个多维数组执行FFT的天真尝试进行比较:
In [45]: import numpy as np
In [46]: V0 = np.random.random((3,128,128))
In [47]: V0fft = []
In [48]: for i in xrange(V0.shape[0]):
...: V0fft.append(np.fft.fftn(V0[i]))
...:
In [49]: V0fftdirect = np.fft.fftn(V0)
In [50]: np.amax(np.abs(V0fft - V0fftdirect))
Out[50]: 16366.207818488827
那么我怎样才能正确地做呢?在
V0fftdirect = np.fft.fft2(V0)
完成了任务:np.fft.fftn
替换为np.fft.fft2
。在fftn
轴:numpy.fft.fftn(a, s=None, axes=(-2, -1), norm=None)
相关问题 更多 >
编程相关推荐