2016-04-06 19 views
1

3D fourier dönüşümü için bir Fourier matrisi oluşturmak istiyorum. Ben Matlabda 1D FFT için o dftmtx ile oluşturulabilir biliyoruz ve böyle Kron kullanarak 2D FFT uzatabilirsiniz:3D Fourier Matrisi MATLAB

FT1D=dftmtx(N); 
FT2D=kron(FT1D,FT1D); 

3 boyutlara kadar uzatmak için herhangi bir yolu var mı? Yardımın için teşekkürler.

cevap

0

Tamam, bu sorunu kendi başıma çözdüm! Ben Mathwork içinde On-The-Fly Özel Matris Nesneleri tanımı denilen paketi bulundu: http://www.mathworks.com/matlabcentral/fileexchange/26611-on-the-fly-definition-of-custom-matrix-objects

bu setini kullanarak aşağıdaki gibi 3D Fourier matrisi tanımlanabilir:

Qobj=MatrixObj; 
[email protected](obj,z) fftn(z); 

kullanmak için, yazabilir:

y=Qobj*x; 

Oldukça kolay. İnternette benim sorunum için başka bir çözüm bulamadım, bu yüzden diğer insanlar için de yararlı olabileceğini umuyorum!