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


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


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

用法:

scipy.fft.irfftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)#

计算 rfftn 的倒数

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

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

参数

x 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”},可选

标准化模式(参见 fft )。默认为“backward”。

overwrite_x 布尔型,可选

如果为真,则内容x可以销毁;默认为假。看scipy.fft.fft更多细节。

workers 整数,可选

用于并行计算的最大工作线程数。如果为负,则该值从 os.cpu_count() 环绕。有关详细信息,请参阅 fft

plan 对象,可选

此参数保留用于传递下游 FFT 供应商提供的预先计算的计划。它目前未在 SciPy 中使用。

返回

out ndarray

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

抛出

ValueError

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

IndexError

如果轴的某个元素大于 x 的轴数。

注意

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

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

s 的默认值假定最终转换轴上的输出长度为偶数。在执行最终复数到实数的变换时,厄米对称性要求沿该轴的最后一个虚数分量必须为 0,因此它被忽略。为了避免丢失信息,必须给出真实输入的正确长度。

例子

>>> import scipy.fft
>>> import numpy as np
>>> x = np.zeros((3, 2, 2))
>>> x[0, 0, 0] = 3 * 2 * 2
>>> scipy.fft.irfftn(x)
array([[[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]]])

相关用法


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