fftn#
- scipy.fftpack.fftn(x, shape=None, axes=None, overwrite_x=False)[Quelle]#
Gibt die mehrdimensionale diskrete Fouriertransformation zurück.
Das zurückgegebene Array enthält
y[j_1,..,j_d] = sum[k_1=0..n_1-1, ..., k_d=0..n_d-1] x[k_1,..,k_d] * prod[i=1..d] exp(-sqrt(-1)*2*pi/n_i * j_i * k_i)
wobei d = len(x.shape) und n = x.shape.
- Parameter:
- xarray_like
Das (N-D) Array, das transformiert werden soll.
- shapeint oder Array-ähnlich von ints oder None, optional
Die Form des Ergebnisses. Wenn sowohl shape als auch axes (siehe unten) None sind, ist shape gleich
x.shape; wenn shape None ist, aber axes nicht None ist, dann ist shape gleichnumpy.take(x.shape, axes, axis=0). Wennshape[i] > x.shape[i], wird die i-te Dimension mit Nullen aufgefüllt. Wennshape[i] < x.shape[i], wird die i-te Dimension auf die Längeshape[i]gekürzt. Wenn ein Element von shape -1 ist, wird die Größe der entsprechenden Dimension von x verwendet.- axesint oder Array-ähnlich von ints oder None, optional
Die Achsen von x (y, wenn shape nicht None ist), entlang derer die Transformation angewendet wird. Standardmäßig werden alle Achsen verwendet.
- overwrite_xbool, optional
Wenn True, kann der Inhalt von x zerstört werden. Standard ist False.
- Rückgabe:
- ykomplexwertiges N-D NumPy-Array
Die (N-D) DFT des Eingabearrays.
Siehe auch
Hinweise
Wenn
xreellwertig ist, dann gilty[..., j_i, ...] == y[..., n_i-j_i, ...].conjugate().Sowohl Single- als auch Double-Precision-Routinen sind implementiert. Halbpräzisions-Eingaben werden in Single-Precision konvertiert. Nicht-Fließkomma-Eingaben werden in Double-Precision konvertiert. Long-Double-Precision-Eingaben werden nicht unterstützt.
Beispiele
>>> import numpy as np >>> from scipy.fftpack import fftn, ifftn >>> y = (-np.arange(16), 8 - np.arange(16), np.arange(16)) >>> np.allclose(y, fftn(ifftn(y))) True