2016-04-06 24 views
1

3Dフーリエ変換のフーリエ行列を作成したいと思います。 私は1D FFTのためのMatlabで、それはdftmtxで作成することができ、私はこのようなKRONを使用して、2D FFTに拡張できることを知っている:3Dフーリエ行列MATLAB

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

は、3次元に拡張する方法はありますか?ご協力ありがとうございました。

答えて

0

私はこの問題を自分で解決しました。私はMathworks社でオンザフライのカスタムマトリックスオブジェクトの定義と呼ばれるスイートが見つかりました: http://www.mathworks.com/matlabcentral/fileexchange/26611-on-the-fly-definition-of-custom-matrix-objects

このスイートを使用し、次のように、3次元フーリエ行列を定義することができます

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

がそれを使用するには、我々書くことができます:

y=Qobj*x; 

これはかなり簡単です。 私はインターネット上の私の問題に対する他の解決策を見つけられなかったので、他の人にも役立つことを願っています!