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


Python SciPy fftpack.fftn用法及代码示例


本文简要介绍 python 语言中 scipy.fftpack.fftn 的用法。

用法:

scipy.fftpack.fftn(x, shape=None, axes=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。

参数

x array_like

要转换的 (N-D) 数组。

shape int 或 数组 of ints 或 None,可选

结果的形状。如果两者都形状(见下文)无,形状x.shape;如果形状是无但不是无,那么形状numpy.take(x.shape, axes, axis=0).如果shape[i] > x.shape[i],第 i 个维度用零填充。如果shape[i] < x.shape[i],第 i 个维度被截断为长度shape[i].如果任何元素形状为-1,对应维度的大小x被使用。

axes int 或 数组 of ints 或 None,可选

沿其应用变换的 x 轴(如果 shape 不是 None,则为 y)。默认值是在所有轴上。

overwrite_x 布尔型,可选

如果为 True,则可以销毁 x 的内容。默认为假。

返回

y complex-valued N-D NumPy 数组

输入数组的 (N-D) DFT。

注意

如果 x 是实值,则 y[..., j_i, ...] == y[..., n_i-j_i, ...].conjugate()

实现了单精度和双精度例程。半精度输入将转换为单精度。非浮点输入将被转换为双精度。不支持Long-double 精度输入。

例子

>>> 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

相关用法


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