scipy.fft.
fft2#
- scipy.fft.fft2(x, s=None, axes=(-2, -1), norm=None, overwrite_x=False, workers=None, *, plan=None)[source]#
計算 2 維離散傅立葉轉換
此函數藉由快速傅立葉轉換 (FFT) 計算 M 維陣列中任意軸上的 N 維離散傅立葉轉換。預設情況下,轉換會計算輸入陣列的最後兩個軸,即二維 FFT。
- 參數:
- xarray_like (類陣列)
輸入陣列,可以是複數
- s整數序列,選用
輸出的形狀(每個轉換軸的長度)(
s[0]
指的是軸 0,s[1]
指的是軸 1,依此類推)。這對應於fft(x, n)
中的n
。沿著每個軸,如果給定的形狀小於輸入的形狀,則會裁剪輸入。如果較大,則會用零填充輸入。如果未給定 s,則會使用沿著 axes 指定軸的輸入形狀。- axes整數序列,選用
計算 FFT 的軸。如果未給定,則使用最後兩個軸。
- norm{“backward”, “ortho”, “forward”},選用
正規化模式(請參閱
fft
)。預設值為 “backward”。- overwrite_x布林值,選用
如果為 True,則可以破壞 x 的內容;預設值為 False。請參閱
fft
以取得更多詳細資訊。- workers整數,選用
用於平行計算的最大工作人員數量。如果為負數,則該值會從
os.cpu_count()
環繞。請參閱fft
以取得更多詳細資訊。- plan物件,選用
此引數保留用於傳遞由下游 FFT 供應商提供的預先計算的計畫。目前在 SciPy 中尚未使用。
在 1.5.0 版本中新增。
- 回傳值:
- out複數 ndarray
沿著 axes 指示的軸轉換,或在未給定 axes 時沿著最後兩個軸轉換的截斷或零填充輸入。
- 引發:
- ValueError
如果 s 和 axes 的長度不同,或者未給定 axes 且
len(s) != 2
。- IndexError
如果 axes 的元素大於 x 的軸數。
註解
與
fft
類似,輸出在轉換軸的低階角包含零頻率項,在這些軸的前半部分包含正頻率項,在軸的中間包含奈奎斯特頻率項,在軸的後半部分包含負頻率項,依負頻率遞減的順序排列。有關詳細資訊和繪圖範例,請參閱
fftn
,有關使用的定義和慣例,請參閱fft
。範例
>>> import scipy.fft >>> import numpy as np >>> x = np.mgrid[:5, :5][0] >>> scipy.fft.fft2(x) array([[ 50. +0.j , 0. +0.j , 0. +0.j , # may vary 0. +0.j , 0. +0.j ], [-12.5+17.20477401j, 0. +0.j , 0. +0.j , 0. +0.j , 0. +0.j ], [-12.5 +4.0614962j , 0. +0.j , 0. +0.j , 0. +0.j , 0. +0.j ], [-12.5 -4.0614962j , 0. +0.j , 0. +0.j , 0. +0.j , 0. +0.j ], [-12.5-17.20477401j, 0. +0.j , 0. +0.j , 0. +0.j , 0. +0.j ]])