当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.fft.fft用法及代码示例


用法:

dask.array.fft.fft(a, n=None, axis=None)

numpy.fft.fft 的包装

应用 FFT 的轴必须只有一个块。要更改数组的分块,请使用 dask.Array.rechunk。

numpy.fft.fft 文档字符串如下:

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

此函数使用高效的快速傅里叶变换 (FFT) 算法 [CT] 计算一维 n-point 离散傅里叶变换 (DFT)。

参数

aarray_like

输入数组,可以很复杂。

n整数,可选

输出的变换轴的长度。如果 n 小于输入的长度,则裁剪输入。如果它更大,则用零填充输入。如果未给出n,则使用沿axis 指定的轴的输入长度。

axis整数,可选

计算 FFT 的轴。如果未给出,则使用最后一个轴。

norm{“backward”, “ortho”, “forward”},可选

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

返回

out复杂的ndarray

截断或补零的输入,沿 axis 指示的轴转换,如果未指定 axis 则为最后一个。

抛出

索引错误

如果 axis 不是 a 的有效轴。

注意

FFT(快速傅里叶变换)是指通过在计算项中使用对称性,可以有效计算离散傅里叶变换 (DFT) 的一种方式。当n 是 2 的幂时,对称性最高,因此对于这些大小,变换最有效。

numpy.fft 模块的文档中,使用此实现中使用的约定定义了 DFT。

参考

CT

Cooley、James W. 和 John W. Tukey,1965 年,“复杂傅里叶级数的机器计算算法”,数学。计算。 19:297-301。

例子

>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))  
array([-2.33486982e-16+1.14423775e-17j,  8.00000000e+00-1.25557246e-15j,
        2.33486982e-16+2.33486982e-16j,  0.00000000e+00+1.22464680e-16j,
       -1.14423775e-17+2.33486982e-16j,  0.00000000e+00+5.20784380e-16j,
        1.14423775e-17+1.14423775e-17j,  0.00000000e+00+1.22464680e-16j])

在此示例中,实输入具有 Hermitian 的 FFT,即实部对称而虚部反对称,如 numpy.fft 文档中所述:

>>> import matplotlib.pyplot as plt  
>>> t = np.arange(256)  
>>> sp = np.fft.fft(np.sin(t))  
>>> freq = np.fft.fftfreq(t.shape[-1])  
>>> plt.plot(freq, sp.real, freq, sp.imag)  
[<matplotlib.lines.Line2D object at 0x...>, <matplotlib.lines.Line2D object at 0x...>]
>>> plt.show()

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.fft.fft。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。