fftn#
- scipy.fftpack.fftn(x, shape=None, оси=None, overwrite_x=False)[источник]#
Вернуть многомерное дискретное преобразование Фурье.
Возвращаемый массив содержит:
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)
где d = len(x.shape) и n = x.shape.
- Параметры:
- xarray_like
(N-D) массив для преобразования.
- shapeint или array_like из ints или None, опционально
Форма результата. Если оба shape и оси (см. ниже) являются None, shape является
x.shape; если shape равно None, но оси не является None, тогда shape являетсяnumpy.take(x.shape, axes, axis=0). Еслиshape[i] > x.shape[i], i-е измерение дополняется нулями. Еслиshape[i] < x.shape[i], i-е измерение обрезается до длиныshape[i]. Если любой элемент shape равно -1, размер соответствующего измерения x используется.- осиint или array_like из ints или None, опционально
Оси x (y if shape не равно None) вдоль которого применяется преобразование. По умолчанию — по всем осям.
- overwrite_xbool, необязательно
Если True, содержимое x может быть уничтожен. По умолчанию False.
- Возвращает:
- yкомплекснозначный N-мерный массив NumPy
(N-мерное) ДПФ входного массива.
Смотрите также
Примечания
Если
xявляется действительным, тогдаy[..., j_i, ...] == y[..., n_i-j_i, ...].conjugate().Реализованы процедуры как для одинарной, так и для двойной точности. Входные данные с половинной точностью будут преобразованы в одинарную точность. Нечисловые входные данные будут преобразованы в двойную точность. Входные данные с расширенной двойной точностью не поддерживаются.
Примеры
>>> 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