上一主题

numpy.fft.irfft2

下一主题

numpy.fft.irfftn

numpy.fft.rfftn

numpy.fft.rfftn(a, s=None, axes=None, norm=None)[source]

计算实际输入的N维离散傅里叶变换。

该函数通过快速傅里叶变换(FFT)计算M维实数组中任何数量的轴上的N维离散傅里叶变换。默认情况下,所有轴都进行变换,实际变换在最后一个轴上执行,而其余变换则复杂。

参数:

a:array_like

输入数组,取实数。

s:ints序列,可选

从输入使用的形状(沿每个变换轴的长度)。s[0]是指轴0,s[1]到轴1等)。The final element of s corresponds to n for rfft(x, n), while for the remaining axes, it corresponds to n for fft(x, n). 沿任何轴,如果给定的形状小于输入的形状,则输入被裁剪。如果它较大,输入将用零填充。如果未给出s,则使用沿指定的轴的输入形状。

axes:ints序列,可选

计算FFT的轴。如果未给出,则使用最后的len(s)轴,如果s也未指定,则使用所有轴。

norm:{None,“ortho”},可选

版本1.10.0中的新功能。

规范化模式(参见numpy.fft)。默认值为None。

返回:

out:complex ndarray

沿着指示的轴或者通过sa的组合变换的截断或补零输入,如参数部分。变换的最后一个轴的长度将为s[-1]//2+1,而剩余的变换轴将具有根据s的长度,输入。

上升:

ValueError

如果s具有不同的长度。

IndexError

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

也可以看看

irfftn
rfftn的倒数,即实数输入的n维FFT的倒数。
fft
一维FFT,使用定义和约定。
rfft
实数输入的一维FFT。
fftn
n维FFT。
rfft2
实数输入的二维FFT。

笔记

实际输入的变换在最后一个变换轴上执行,如rfft,则其余轴上的变换通过fftn执行。对于最终变换轴,输出的顺序与rfft相同,对于其余变换轴,输出的顺序与fftn相同。

有关详细信息,所使用的定义和约定,请参见fft

例子

>>> a = np.ones((2, 2, 2))
>>> np.fft.rfftn(a)
array([[[ 8.+0.j,  0.+0.j],
        [ 0.+0.j,  0.+0.j]],
       [[ 0.+0.j,  0.+0.j],
        [ 0.+0.j,  0.+0.j]]])
>>> np.fft.rfftn(a, axes=(2, 0))
array([[[ 4.+0.j,  0.+0.j],
        [ 4.+0.j,  0.+0.j]],
       [[ 0.+0.j,  0.+0.j],
        [ 0.+0.j,  0.+0.j]]])