numpy.fft.fftn
-
numpy.fft.fftn(a, s=None, axes=None, norm=None)[source] -
Вычисление N-мерного дискретного преобразования Фурье.
Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому числу осей в массиве размерности M с помощью быстрого преобразования Фурье (FFT).
- Параметры
-
-
aarray_like -
Входной массив, может быть комплексным.
-
ssequence of ints, optional -
Форма (длина каждой преобразованной оси) выходного массива (
s[0]относится к оси 0,s[1]к оси 1 и т. д.). Это соответствуетnдляfft(x, n). По любой оси, если заданная форма меньше, чем форма входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Еслиsне задан, используется форма входных данных вдоль осей, указанных вaxes. -
axessequence of ints, optional -
Оси, по которым вычисляется FFT. Если не указаны, используются последние
len(s)оси, или все оси, еслиsтакже не указан. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз. -
norm{None, “ortho”}, optional -
Новое в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Возвращает
-
-
outcomplex ndarray -
Усеченный или дополненный нулями входной массив, преобразованный вдоль осей, указанных в
axes, или комбинациейsиa, как описано в разделе параметров выше.
-
- Возбуждает
-
- ValueError
-
Если
sиaxesимеют разную длину. - IndexError
-
Если элемент
axesбольше, чем количество осей вa.
См. также
-
numpy.fft -
Общий обзор дискретных преобразований Фурье с определениями и используемыми соглашениями.
-
ifftn -
Обратное преобразование к
fftn, обратное n-мерное FFT. -
fft -
Одномерное FFT с определениями и используемыми соглашениями.
-
rfftn -
N-мерное FFT вещественного входного массива.
-
fft2 -
Двумерное FFT.
-
fftshift -
Смещает нулевой частотный термин в центр массива
Примечания
Выходные данные, аналогично
fft, содержат член для нулевой частоты в углу с наименьшими индексами по всем осям, положительные частоты в первой половине по всем осям, член для частоты Найквиста посередине всех осей и отрицательные частоты во второй половине всех осей, в порядке убывания отрицательной частоты.См.
numpy.fftдля получения подробной информации, определений и используемых соглашений.Примеры
>>> a = np.mgrid[:3, :3, :3][0] >>> np.fft.fftn(a, axes=(1, 2)) array([[[ 0.+0.j, 0.+0.j, 0.+0.j], # may vary [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]], [[ 9.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]], [[18.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]]]) >>> np.fft.fftn(a, (2, 2), axes=(0, 1)) array([[[ 2.+0.j, 2.+0.j, 2.+0.j], # may vary [ 0.+0.j, 0.+0.j, 0.+0.j]], [[-2.+0.j, -2.+0.j, -2.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]]])>>> import matplotlib.pyplot as plt >>> [X, Y] = np.meshgrid(2 * np.pi * np.arange(200) / 12, ... 2 * np.pi * np.arange(200) / 34) >>> S = np.sin(X) + np.cos(Y) + np.random.uniform(0, 1, X.shape) >>> FS = np.fft.fftn(S) >>> plt.imshow(np.log(np.abs(np.fft.fftshift(FS))**2)) <matplotlib.image.AxesImage object at 0x...> >>> plt.show()
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.fft.fftn.html