SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: EliotHijano en Jueves 16 de Julio de 2009, 14:55

Título: FFT2 para un array multidimensional
Publicado por: EliotHijano en Jueves 16 de Julio de 2009, 14:55
Hola,
Me gustaría preguntaros una duda que tengo sobre FFT2. El caso es que tengo un código tal que así:
Código: Matlab M
  1.  
  2. Yr=fft2(Yr);
  3.  
  4.  
Es decir, Yr es un array bidimensional al que se le aplica la transformada de Fourier2D. Sin embargo, este código está dentro de un for, y estoy intentando vectorizar el código con el fin de mejorar la velocidad. Para ello, he creado un array Yr que ahora es tridimensional, es decir, tiene las dos dimensiones de antes y una más.
Me gustaría utilizar alguna expresión para hacer la transformada de fourier 2D de ese array, es decir, hacer la transformada de fourier 2D de cada uno de los arrays que representa la expresión Yr(:,:,integer).
Se os ocurre alguna manera de hacer esto sin utilizar un for?

Qualquier comentario seria de ayuda.
Título: Re: FFT2 para un array multidimensional
Publicado por: Geo en Domingo 19 de Julio de 2009, 07:21
Me parece que no hay forma salvo el recorrido con algún ciclo. Aunque hubiera una expresión, lo más probable es que internamente utilice la misma estrategia (un ciclo). Quizá valdría la pena intentar reducir el código en otro lado, no mencionas cómo es que se han armado las matrices a las que aplicas la FFT.