本文簡要介紹 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()
相關用法
- Python SciPy fft.fft2用法及代碼示例
- Python SciPy fft.fftfreq用法及代碼示例
- Python SciPy fft.fft用法及代碼示例
- Python SciPy fft.fftshift用法及代碼示例
- Python SciPy fft.fht用法及代碼示例
- Python SciPy fft.fhtoffset用法及代碼示例
- Python SciPy fft.idctn用法及代碼示例
- Python SciPy fft.next_fast_len用法及代碼示例
- Python SciPy fft.ifft2用法及代碼示例
- Python SciPy fft.ifftn用法及代碼示例
- Python SciPy fft.ihfftn用法及代碼示例
- Python SciPy fft.rfftfreq用法及代碼示例
- Python SciPy fft.dctn用法及代碼示例
- Python SciPy fft.rfft用法及代碼示例
- Python SciPy fft.dct用法及代碼示例
- Python SciPy fft.idstn用法及代碼示例
- Python SciPy fft.rfftn用法及代碼示例
- Python SciPy fft.hfft用法及代碼示例
- Python SciPy fft.set_global_backend用法及代碼示例
- Python SciPy fft.ifftshift用法及代碼示例
- Python SciPy fft.ihfft用法及代碼示例
- Python SciPy fft.irfftn用法及代碼示例
- Python SciPy fft.set_backend用法及代碼示例
- Python SciPy fft.idct用法及代碼示例
- Python SciPy fft.get_workers用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.fft.fftn。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。