ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ifftn

N 次元逆高速フーリエ変換

構文

Y = ifftn(X)
Y = ifftn(X,siz)
y = ifftn(..., 'symmetric')
y = ifftn(..., 'nonsymmetric')

説明

Y = ifftn(X) は多次元高速フーリエ変換 (FFT) アルゴリズムを使って X の n 次元逆離散フーリエ変換 (DFT) を返します。結果の Y は、X と同じサイズになります。

関数 ifftn は、X"共役対称" であるかどうかテストします。共役対称である場合、計算が高速になり、出力は実数になります。N1-N2- ... Nk 配列 X は、以下の場合に、共役対称になります。

X(i1,i2, ...,ik) = conj(X(mod(N1-i1+1,N1)+1, mod(N2-i2+1,N2)+1, 
... mod(Nk-ik+1,Nk)+1))

これは、X の各要素に対してです。

Y = ifftn(X,siz) は逆変換を行う前に、サイズ siz の多次元配列を作成するために X にゼロを付加するか、X を切り捨てます。結果の Y のサイズは、siz になります。

y = ifftn(..., 'symmetric') の場合、関数 ifftnX を共役対称として扱います。このオプションは、丸め誤差だけの原因で X が共役対称にならない場合に便利です。

y = ifftn(..., 'nonsymmetric') は引数 'nonsymmetric' を使用せずに ifftn(...) を呼び出した場合と同様です。

データ型のサポート

関数 ifftn は、データ型 double および single の入力をサポートします。関数 ifftn の呼び出しに構文 y = ifftn(X, ...) を使用する合、出力 y は入力 X と同じデータ型になります。

詳細

すべて折りたたむ

ヒント

任意の X に対して、ifftn(fftn(X)) は、丸め誤差内で X と同じです。

アルゴリズム

ifftn(X) は、以下のものと等価です。

Y = X;
for p = 1:length(size(X))
    Y = ifft(Y,[],p);
end

これは、X の各次元に沿って、適宜、1 次元逆 DFT を計算します。

関数 ifftn の実行時間は、変換の長さによって異なります。長さが 2 のべき乗の場合、最も高速です。そして、小さな素因数のみの組み合わせからなるものが、次に高速になります。一般に、素数の長さ、または大きな素因数を含む長さの場合は、数倍遅くなります。

    メモ:   ユーティリティ関数 fftw を使用すると、関数 ifftn の速度を向上できる可能性があります。このユーティリティ関数は、特定のサイズと次元の FFT の計算に使用されるアルゴリズムを MATLAB® ソフトウェアが最適化する方法を制御します。

参考

| | | |

R2006a より前に導入

この情報は役に立ちましたか?