numpy.fft.fft2#

fft.fft2(a, s=None, axes=(-2, -1), norm=None, out=None)[source]#

计算二维离散傅里叶变换。

此函数通过快速傅里叶变换 (FFT) 计算 *M* 维数组中任意轴上的 *n* 维离散傅里叶变换。默认情况下,变换是在输入数组的最后两个轴上计算的,即二维 FFT。

参数:
aarray_like

输入数组,可以是复数

s整数序列,可选

输出的形状(每个变换轴的长度)(s[0] 指的是轴 0,s[1] 指的是轴 1,等等)。这对应于 fft(x, n)n。沿每个轴,如果给定的形状小于输入的形状,则裁剪输入。如果它更大,则用零填充输入。

2.0 版本中的更改: 如果它是 -1,则使用整个输入(不进行填充/修剪)。

如果未给出 *s*,则使用由 *axes* 指定的轴上输入的形状。

自 2.0 版本起已弃用: 如果 *s* 不是 None,则 *axes* 也不能是 None

自 2.0 版本起已弃用: *s* 必须只包含 int,而不是 None 值。None 值目前意味着在相应的 1-D 变换中使用 n 的默认值,但此行为已弃用。

axes整数序列,可选

计算 FFT 的轴。如果未给出,则使用最后两个轴。*axes* 中重复的索引表示对该轴上的变换执行多次。单元素序列表示执行一维 FFT。默认值:(-2, -1)

自 2.0 版本起已弃用: 如果指定了 *s*,则必须不能将要变换的相应 *axes* 指定为 None

norm{"backward", "ortho", "forward"},可选

归一化模式(参见 numpy.fft)。默认为“backward”。指示前向/后向变换对中的哪个方向进行缩放以及使用什么归一化因子。

1.20.0 新版功能: 添加了“backward”、“forward”值。

out复数 ndarray,可选

如果提供,结果将放置在此数组中。它应该具有所有轴的适当形状和 dtype(因此只有最后一个轴的 s 不等于该轴的形状)。

2.0.0 新版功能。

返回:
out复数 ndarray

沿由 *axes* 指示的轴(或者如果没有给出 *axes* 则为最后两个轴)变换的截断或零填充输入。

引发:
ValueError

如果 *s* 和 *axes* 的长度不同,或者未给出 *axes* 并且 len(s) != 2

IndexError

如果 *axes* 的元素大于 *a* 的轴数。

另请参见

numpy.fft

离散傅里叶变换的总体视图,包括定义和使用的约定。

ifft2

二维逆 FFT。

fft

一维 FFT。

fftn

*n* 维 FFT。

fftshift

将零频率项移到数组的中心。对于二维输入,交换第一和第三象限,以及第二和第四象限。

备注

fft2 只是 fftn,但 *axes* 的默认值不同。

类似于 fft,输出包含变换轴低阶角的零频率项,这些轴前半部分的正频率项,轴中间的奈奎斯特频率项以及这些轴后半部分的负频率项,按负频率递减的顺序排列。

有关详细信息和绘图示例,请参见 fftn,有关定义和使用的约定,请参见 numpy.fft

示例

>>> import numpy as np
>>> a = np.mgrid[:5, :5][0]
>>> np.fft.fft2(a)
array([[ 50.  +0.j        ,   0.  +0.j        ,   0.  +0.j        , # may vary
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5+17.20477401j,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5 +4.0614962j ,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5 -4.0614962j ,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ],
       [-12.5-17.20477401j,   0.  +0.j        ,   0.  +0.j        ,
          0.  +0.j        ,   0.  +0.j        ]])