1
我想創建一個三維傅立葉變換的傅里葉矩陣。 我知道,對於一維FFT在Matlab它可以與dftmtx創建,我可以使用KRON這樣擴大到2D FFT:三維傅立葉矩陣MATLAB
FT1D=dftmtx(N);
FT2D=kron(FT1D,FT1D);
有沒有辦法把它擴大到3個維度?感謝您的幫助。
我想創建一個三維傅立葉變換的傅里葉矩陣。 我知道,對於一維FFT在Matlab它可以與dftmtx創建,我可以使用KRON這樣擴大到2D FFT:三維傅立葉矩陣MATLAB
FT1D=dftmtx(N);
FT2D=kron(FT1D,FT1D);
有沒有辦法把它擴大到3個維度?感謝您的幫助。
好吧,我自己解決了這個問題!我發現了一個叫上即時定製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;
這很簡單。 我沒有找到任何其他解決方案,我的問題在互聯網上,所以我希望它可以對其他人有用!