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


Python numpy fft.irfftn用法及代码示例


本文简要介绍 python 语言中 numpy.fft.irfftn 的用法。

用法:

fft.irfftn(a, s=None, axes=None, norm=None)

计算 rfftn 的倒数。

此函数通过快速傅里叶变换 (FFT) 计算 M-dimensional 数组中任意数量轴上的实数输入的 N 维离散傅里叶变换的逆。换句话说,irfftn(rfftn(a), a.shape) == a 在数值精度范围内。 (a.shape 是必需的,就像 len(a) 用于 irfft 一样,原因相同。)

输入的排序方式应与 rfftn 返回的方式相同,即对于最终转换轴的 irfft 以及沿所有其他轴的 ifftn

参数

a array_like

输入数组。

s 整数序列,可选

输出的形状(每个变换轴的长度)(s[0]指轴 0,s[1]到轴 1 等)。s也是沿该轴使用的输入点数,最后一个轴除外,其中s[-1]//2+1使用输入点。沿着任何轴,如果形状由s小于输入的,输入被裁剪。如果它更大,则用零填充输入。如果s如果未给出,则使用沿轴指定的轴的输入形状。除了最后一个轴被认为是2*(m-1)其中m是输入沿该轴的长度。

axes 整数序列,可选

计算逆 FFT 的轴。如果未给出,则使用最后一个 len(s) 个轴,如果也未指定 s,则使用所有轴。轴中的重复索引意味着在该轴上执行多次逆变换。

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

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

返回

out ndarray

截断或补零的输入,沿由,或通过组合s或者a,如上面的参数部分所述。每个变换轴的长度由对应的元素给出s,或者除了最后一个轴之外的每个轴的输入长度,如果s没有给出。在最终转换的轴中,输出的长度是s没有给出是2*(m-1)其中m是输入的最终变换轴的长度。要在最终轴上获得奇数个输出点,s必须指定。

抛出

ValueError

如果 s 和轴有不同的长度。

IndexError

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

注意

有关使用的定义和约定,请参见 fft

有关用于实际输入的定义和约定,请参见 rfft

厄米特输入的正确解释取决于原始数据的形状,如s.这是因为每个输入形状都可能对应于奇数或偶数长度的信号。默认,irfftn假设一个偶数输出长度,将最后一个条目置于奈奎斯特频率;与其对称对应物混叠。在执行最终复数到实数的转换时,最后一个值因此被视为纯实数。为了避免丢失信息,真实输入的正确形状必须被给予。

例子

>>> a = np.zeros((3, 2, 2))
>>> a[0, 0, 0] = 3 * 2 * 2
>>> np.fft.irfftn(a)
array([[[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]]])

相关用法


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