scipy.fftpack.
rfft#
- scipy.fftpack.rfft(x, n=None, axis=-1, overwrite_x=False)[source]#
實數序列的離散傅立葉轉換。
- 參數:
- xarray_like,實數值
要轉換的資料。
- nint,選填
定義傅立葉轉換的長度。如果未指定 n (預設值),則
n = x.shape[axis]
。如果n < x.shape[axis]
,則會截斷 x;如果n > x.shape[axis]
,則會對 x 進行零填充。- axisint,選填
套用轉換的軸。預設值為最後一個軸。
- overwrite_xbool,選填
如果設定為 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.])