三维傅里叶矩阵MATLAB

时间:2016-04-06 18:43:58

标签: matlab 3d fft

我想为3D傅里叶变换创建傅立叶矩阵。 我知道对于Matlab中的1D FFT,它可以用dftmtx创建,我可以使用kron扩展到2D FFT:

Func TimeToPlay2()

Global $foo = TimeToPlay()
$RET = _ArrayAdd($aArray_Base3, $foo[0])
sleep(250)
$RE1T = _ArrayAdd($aArray_Base3, $foo[1])
_ArrayDisplay($aArray_Base3, "1D - Delim string")

EndFunc

有没有办法将其扩展到3维?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

好的,我自己解决了这个问题!我在Mathworks中找到了一个名为On-The-Fly定义的自定义矩阵对象的套件: http://www.mathworks.com/matlabcentral/fileexchange/26611-on-the-fly-definition-of-custom-matrix-objects

使用这个套件,3D傅立叶矩阵可以定义如下:

Qobj=MatrixObj;
Qobj.Ops.mtimes=@(obj,z) fftn(z);

要使用它,我们可以写:

y=Qobj*x;

这很简单。 我没有在互联网上找到任何其他问题的解决方案,所以我希望它对其他人也有用!