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 forrfft(x, n)
, while for the remaining axes, it corresponds to n forfft(x, n)
. 沿任何轴,如果给定的形状小于输入的形状,则输入被裁剪。如果它较大,输入将用零填充。如果未给出s,则使用沿轴指定的轴的输入形状。axes:ints序列,可选
计算FFT的轴。如果未给出,则使用最后的
len(s)
轴,如果s也未指定,则使用所有轴。norm:{None,“ortho”},可选
版本1.10.0中的新功能。
规范化模式(参见
numpy.fft
)。默认值为None。返回: out:complex ndarray
沿着轴指示的轴或者通过s和a的组合变换的截断或补零输入,如参数部分。变换的最后一个轴的长度将为
s[-1]//2+1
,而剩余的变换轴将具有根据s的长度,输入。上升: ValueError
如果s和轴具有不同的长度。
IndexError
如果axes的元素大于a的轴数。
也可以看看
笔记
实际输入的变换在最后一个变换轴上执行,如
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]]])