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


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


用法:

dask.array.fft.fftn(a, s=None, axes=None)

numpy.fft.fftn 的包裝

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

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

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

此函數通過快速傅裏葉變換 (FFT) 在 M-dimensional 數組中的任意數量的軸上計算 N 維離散傅裏葉變換。

參數

aarray_like

輸入數組,可以很複雜。

s整數序列,可選

輸出的形狀(每個變換軸的長度)(s[0] 指軸 0,s[1] 指軸 1,等等)。這對應於 fft(x, n)n 。沿著任何軸,如果給定的形狀小於輸入的形狀,則裁剪輸入。如果它更大,則用零填充輸入。如果未給出s,則使用沿由axes 指定的軸的輸入形狀。

axes整數序列,可選

計算 FFT 的軸。如果未指定,則使用最後的 len(s) 軸,如果也未指定 s,則使用所有軸。 axes 中的重複索引意味著該軸上的變換被執行多次。

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

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

返回

out複雜的ndarray

截斷或補零的輸入,沿 axessa 的組合指示的軸進行轉換,如上麵的參數部分所述。

拋出

ValueError

如果saxes 的長度不同。

索引錯誤

如果 axes 的元素大於 a 的軸數。

注意

輸出,類似於 fft ,包含所有軸低階角的零頻率項、所有軸前半部分的正頻率項、所有軸中間的奈奎斯特頻率項和所有軸的後半部分的負頻率項,按負頻率遞減的順序。

有關使用的詳細信息、定義和約定,請參閱numpy.fft

例子

>>> a = np.mgrid[:3, :3, :3][0]  
>>> np.fft.fftn(a, axes=(1, 2))  
array([[[ 0.+0.j,   0.+0.j,   0.+0.j], # may vary
        [ 0.+0.j,   0.+0.j,   0.+0.j],
        [ 0.+0.j,   0.+0.j,   0.+0.j]],
       [[ 9.+0.j,   0.+0.j,   0.+0.j],
        [ 0.+0.j,   0.+0.j,   0.+0.j],
        [ 0.+0.j,   0.+0.j,   0.+0.j]],
       [[18.+0.j,   0.+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.fftn(a, (2, 2), axes=(0, 1))  
array([[[ 2.+0.j,  2.+0.j,  2.+0.j], # may vary
        [ 0.+0.j,  0.+0.j,  0.+0.j]],
       [[-2.+0.j, -2.+0.j, -2.+0.j],
        [ 0.+0.j,  0.+0.j,  0.+0.j]]])
>>> import matplotlib.pyplot as plt  
>>> [X, Y] = np.meshgrid(2 * np.pi * np.arange(200) / 12,  
...                      2 * np.pi * np.arange(200) / 34)
>>> S = np.sin(X) + np.cos(Y) + np.random.uniform(0, 1, X.shape)  
>>> FS = np.fft.fftn(S)  
>>> plt.imshow(np.log(np.abs(np.fft.fftshift(FS))**2))  
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()

相關用法


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