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


Python SciPy fft.fftn用法及代碼示例


本文簡要介紹 python 語言中 scipy.fft.fftn 的用法。

用法:

scipy.fft.fftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)#

計算N-D 離散傅裏葉變換。

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

參數

x array_like

輸入數組,可以很複雜。

s 整數序列,可選

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

axes 整數序列,可選

計算 FFT 的軸。如果沒有給出,最後一個len(s)使用軸,或所有軸,如果s也沒有指定。

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

標準化模式(參見 fft )。默認為“backward”。

overwrite_x 布爾型,可選

如果為真,則內容x可以銷毀;默認為假。看scipy.fft.fft更多細節。

workers 整數,可選

用於並行計算的最大工作線程數。如果為負,則該值從 os.cpu_count() 環繞。有關詳細信息,請參閱 fft

plan 對象,可選

此參數保留用於傳遞下遊 FFT 供應商提供的預先計算的計劃。它目前未在 SciPy 中使用。

返回

out 複雜的ndarray

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

拋出

ValueError

如果 s 和軸有不同的長度。

IndexError

如果軸的某個元素大於 x 的軸數。

注意

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

例子

>>> import scipy.fft
>>> import numpy as np
>>> x = np.mgrid[:3, :3, :3][0]
>>> scipy.fft.fftn(x, 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]]])
>>> scipy.fft.fftn(x, (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
>>> rng = np.random.default_rng()
>>> [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) + rng.uniform(0, 1, X.shape)
>>> FS = scipy.fft.fftn(S)
>>> plt.imshow(np.log(np.abs(scipy.fft.fftshift(FS))**2))
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()
scipy-fft-fftn-1.png

相關用法


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