В следующей программе я хотел бы вычислить быстрое преобразование Фурье заданного поля, заданное U. Какая разница между возвращаемыми значениями для fft и для fft2? Любая помощь будет оценена! Спасибо.В чем разница между возвратом fft/fft2, применяемым к матрице?
import numpy as np
from numpy import sin, cos, pi
nx=3
ny=3
px=2*pi
py=2*pi
qx=1.0*px/(nx-1)
qy=1.0*py/(ny-1)
x = np.linspace(0,px,nx)
y = np.linspace(0,py,ny)
X,Y = np.meshgrid(x,y)
U=cos(X)*sin(Y)
#compite fft's
Uh1=np.fft.fft(U)
Uh2=np.fft.fft2(U)
print('For fft')
print(Uh1)
print('For fft2')
print(Uh2)
#What is the difference between Uh1 and Uh2? Thank you!
Вот что я получаю:
For fft
[[ 0.00000000e+00 +0.00000000e+00j 0.00000000e+00 +0.00000000e+00j
0.00000000e+00 +0.00000000e+00j]
[ 1.22464680e-16 +0.00000000e+00j 1.22464680e-16 +2.12115048e-16j
1.22464680e-16 -2.12115048e-16j]
[ -2.44929360e-16 +0.00000000e+00j -2.44929360e-16 -4.24230095e-16j
-2.44929360e-16 +4.24230095e-16j]]
For fft2
[[ -1.22464680e-16 +0.00000000e+00j -1.22464680e-16 -2.12115048e-16j
-1.22464680e-16 +2.12115048e-16j]
[ 6.12323400e-17 -3.18172572e-16j 6.12323400e-16 -2.12115048e-16j
-4.89858720e-16 -4.24230095e-16j]
[ 6.12323400e-17 +3.18172572e-16j -4.89858720e-16 +4.24230095e-16j
6.12323400e-16 +2.12115048e-16j]]
Спасибо!
Вы смотрели на значения, возвращаемые из каждого? Документация 'numpy'? – jonrsharpe
@jonrsharpe да. Я просмотрел документацию, но я хотел бы знать, в чем разница в возвращаемых результатах для этих двух функций. –
@jonrsharpe Пожалуйста, я только что добавил некоторые сведения о вопросе! Спасибо –