我試圖高效地np.fft.fftn
和2D numpy數組的數組。 V0
是一個形狀爲(nvar,nx,ny)
的數組,我想對來自第一維V0
的每個2D陣列執行FFT。我想在這裏做的是超過V0
第一軸迭代之間進行比較,並將其與天真的企圖整個多維數組在做FFT比較:Python:numpy fftn在numpy數組列表上
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
所以,我該怎麼做是正確的?
嘗試通過指定軸'numpy.fft.fftn(A,S =無,軸= 0,範數=無)' – Chr
嘗試這個'V0fftdirect = np.fft.fftn(V0,s = None,axes = 0,norm = None)'導致錯誤:'TypeError:'numpy.int64'對象不可迭代' – Ohm
對不起,'axes'應該是一個序列:'numpy.fft.fftn(a,s = None,axes =(0),norm = None)' – Chr