numpy.fft.fft2#
- fft.fft2(a, s=None, axes=(-2, -1), norm=None, out=None)[原始碼]#
計算 2 維離散傅立葉轉換。
此函數藉由快速傅立葉轉換 (FFT) 計算 M 維陣列中任何軸的 n 維離散傅立葉轉換。預設情況下,轉換會針對輸入陣列的最後兩個軸計算,即 2 維 FFT。
- 參數:
- aarray_like
輸入陣列,可以是複數
- ssequence of ints, optional
輸出的形狀(每個轉換軸的長度)(
s[0]
指的是軸 0,s[1]
指的是軸 1,依此類推)。這對應於fft(x, n)
的n
。沿著每個軸,如果給定的形狀小於輸入的形狀,則會裁剪輸入。如果較大,則會以零填充輸入。在 2.0 版本變更: 如果為
-1
,則會使用整個輸入(不填充/修剪)。如果未給定 s,則會使用沿著 axes 指定軸的輸入形狀。
在 2.0 版本中已棄用: 如果 s 不是
None
,則 axes 也不能為None
。在 2.0 版本中已棄用: s 必須僅包含
int
,而不能包含None
值。None
值目前表示在對應的 1 維轉換中使用n
的預設值,但此行為已被棄用。- axessequence of ints, optional
要計算 FFT 的軸。如果未給定,則使用最後兩個軸。axes 中重複的索引表示在該軸上執行轉換多次。單元素序列表示執行一維 FFT。預設值:
(-2, -1)
。在 2.0 版本中已棄用: 如果指定了 s,則要轉換的對應 axes 不得為
None
。- norm{“backward”, “ortho”, “forward”}, optional
正規化模式(請參閱
numpy.fft
)。預設值為 “backward”。指示縮放正向/反向轉換對中的哪個方向以及使用哪個正規化因子。在 1.20.0 版本中新增: 新增了 “backward”、“forward” 值。
- outcomplex ndarray, optional
如果提供,結果將放置在此陣列中。它應該具有適用於所有軸的適當形狀和 dtype(因此只有最後一個軸可以具有與該軸形狀不相等的
s
)。在 2.0.0 版本中新增。
- 傳回值:
- outcomplex ndarray
沿著 axes 指示的軸轉換的截斷或零填充輸入,如果未給定 axes,則為最後兩個軸。
- 引發:
- ValueError
如果 s 和 axes 的長度不同,或者未給定 axes 且
len(s) != 2
。- IndexError
如果 axes 的元素大於 a 的軸數。
另請參閱
註解
與
fft
類似,輸出在轉換軸的低階角包含零頻率項,在這些軸的前半部包含正頻率項,在軸的中間包含奈奎斯特頻率項,在軸的後半部包含負頻率項,依頻率遞減的順序排列。請參閱
fftn
以取得詳細資訊和繪圖範例,並參閱numpy.fft
以取得使用的定義和慣例。範例
>>> import numpy as np >>> a = np.mgrid[:5, :5][0] >>> np.fft.fft2(a) 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 ]])