Estoy tratando de volver a implementar una de las cajas de herramientas de matlab. usan fft allí. cuando realizo la misma operación en los mismos datos, obtengo resultados diferentes a los de matlab. sólo echar un vistazo:FFT en Matlab y numpy/scipy dan resultados diferentes
MATLAB:
Msig =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
fft(Msig.')
Columns 1 through 4
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Columns 5 through 6
1.0000 0
0 - 1.0000i 0
-1.0000 0
0 + 1.0000i 0
PYTHON:
Msig=
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 1., 0., 0.],
[ 0., 0., 0., 0.]])
np.fft.fft(Msig.transpose())
array([[ 0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j],
[ 1.0 +0.00000000e+00j, -0.5 +8.66025404e-01j,
-0.5 -8.66025404e-01j, 1.0 -3.88578059e-16j,
-0.5 +8.66025404e-01j, -0.5 -8.66025404e-01j],
[ 0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j],
[ 0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j,
0.0 +0.00000000e+00j, 0.0 +0.00000000e+00j]])
lo mejor que puedo conseguir si me lío con los parámetros (eje, etc.) de la PN. fft.fft()/np.fft.fft2()/np.fft.fftn() son los mismos valores pero cambiados. Desafortunadamente, el cambio manual no es una opción, ya que el tamaño y la forma de la matriz Msig varían según los parámetros de entrada.
tiene alguna idea de cómo resolver este problema, ¿cuál puede ser la causa?
de transposición está ahí por alguna razón no relacionada, ¿verdad? – Ali