scipy.fftpack.rfft¶
- scipy.fftpack.rfft(x, n=None, axis=- 1, overwrite_x=False)[源代码]¶
实序列的离散傅立叶变换。
- 参数
- x类数组,实值
要转换的数据。
- n整型,可选
定义傅立叶变换的长度。如果 n 未指定(默认值),则
n = x.shape[axis]
。如果n < x.shape[axis]
, x 被截断,如果n > x.shape[axis]
, x 是零填充的。- axis整型,可选
沿其应用变换的轴。默认值为最后一个轴。
- overwrite_x布尔值,可选
如果设置为true,则 x 可以被覆盖。默认值为False。
- 退货
- z真正的ndarray
返回的实数组包含::
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))] if n is even [y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))] if n is odd
其中:
y(j) = sum[k=0..n-1] x[k] * exp(-sqrt(-1)*j*k*2*pi/n) j = 0..n-1
参见
注意事项
在数字精度范围内,
y == rfft(irfft(y))
。实现了单精度和双精度例程。半精度输入将转换为单精度。非浮点输入将转换为双精度。不支持长双精度输入。
要获得具有复杂数据类型的输出,请考虑使用较新的函数
scipy.fft.rfft
。示例
>>> from scipy.fftpack import fft, rfft >>> a = [9, -9, 1, 3] >>> fft(a) array([ 4. +0.j, 8.+12.j, 16. +0.j, 8.-12.j]) >>> rfft(a) array([ 4., 8., 12., 16.])