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;
这很简单。 我没有找到任何其他解决方案,我的问题在互联网上,所以我希望它可以对其他人有用!