當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.fft.fft用法及代碼示例


用法:

dask.array.fft.fft(a, n=None, axis=None)

numpy.fft.fft 的包裝

應用 FFT 的軸必須隻有一個塊。要更改數組的分塊,請使用 dask.Array.rechunk。

numpy.fft.fft 文檔字符串如下:

計算一維離散傅裏葉變換。

此函數使用高效的快速傅裏葉變換 (FFT) 算法 [CT] 計算一維 n-point 離散傅裏葉變換 (DFT)。

參數

aarray_like

輸入數組,可以很複雜。

n整數,可選

輸出的變換軸的長度。如果 n 小於輸入的長度,則裁剪輸入。如果它更大,則用零填充輸入。如果未給出n,則使用沿axis 指定的軸的輸入長度。

axis整數,可選

計算 FFT 的軸。如果未給出,則使用最後一個軸。

norm{“backward”, “ortho”, “forward”},可選

規範化模式(參見numpy.fft)。默認為“backward”。指示前向/後向變換對的哪個方向被縮放以及使用什麽歸一化因子。

返回

out複雜的ndarray

截斷或補零的輸入,沿 axis 指示的軸轉換,如果未指定 axis 則為最後一個。

拋出

索引錯誤

如果 axis 不是 a 的有效軸。

注意

FFT(快速傅裏葉變換)是指通過在計算項中使用對稱性,可以有效計算離散傅裏葉變換 (DFT) 的一種方式。當n 是 2 的冪時,對稱性最高,因此對於這些大小,變換最有效。

numpy.fft 模塊的文檔中,使用此實現中使用的約定定義了 DFT。

參考

CT

Cooley、James W. 和 John W. Tukey,1965 年,“複雜傅裏葉級數的機器計算算法”,數學。計算。 19:297-301。

例子

>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))  
array([-2.33486982e-16+1.14423775e-17j,  8.00000000e+00-1.25557246e-15j,
        2.33486982e-16+2.33486982e-16j,  0.00000000e+00+1.22464680e-16j,
       -1.14423775e-17+2.33486982e-16j,  0.00000000e+00+5.20784380e-16j,
        1.14423775e-17+1.14423775e-17j,  0.00000000e+00+1.22464680e-16j])

在此示例中,實輸入具有 Hermitian 的 FFT,即實部對稱而虛部反對稱,如 numpy.fft 文檔中所述:

>>> import matplotlib.pyplot as plt  
>>> t = np.arange(256)  
>>> sp = np.fft.fft(np.sin(t))  
>>> freq = np.fft.fftfreq(t.shape[-1])  
>>> plt.plot(freq, sp.real, freq, sp.imag)  
[<matplotlib.lines.Line2D object at 0x...>, <matplotlib.lines.Line2D object at 0x...>]
>>> plt.show()

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.fft.fft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。