2016-04-06 263 views
1

我想創建一個三維傅立葉變換的傅里葉矩陣。 我知道,對於一維FFT在Matlab它可以與dftmtx創建,我可以使用KRON這樣擴大到2D FFT:三維傅立葉矩陣MATLAB

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

有沒有辦法把它擴大到3個維度?感謝您的幫助。

回答

0

好吧,我自己解決了這個問題!我發現了一個叫上即時定製Matrix對象的定義在Mathworks公司套房: http://www.mathworks.com/matlabcentral/fileexchange/26611-on-the-fly-definition-of-custom-matrix-objects

使用該套件中,3D傅立葉矩陣可以這樣定義如下:

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

要使用它,我們可以這樣寫:

y=Qobj*x; 

這很簡單。 我沒有找到任何其他解決方案,我的問題在互聯網上,所以我希望它可以對其他人有用!